命令执行web32-36

本题过滤了flag system php  cat sort shell . 空格 ' ` echo ; (

本题主要是过滤了(,导致大部分函数都无法使用,因为echo和`被过滤,所以无法使用echo``,

所以再来学一个新姿势

文件包含+php伪协议

先上实操

解法1

解法2

然后解码

先是文件包含

include包含:遇到错误会警告,但不会停止

require包含:遇到错误会警告,但会停止

include_once:与include差不多,但只包含一次

require:与require差不多,但只包含一次

include$_GET[1]?>&1=

这段的意思就是包含一个名为1的文件以GET的方式上传,然后用连接符&来连接1的内容。

然后是php伪协议

php://filter可以获取指定文件源码。当它与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,让其不执行,从而导致 任意文件读取。

convert.base64-encode & convert.base64-decode

等同于base64_encode()base64_decode(),base64编码&解码

resource=<要过滤的数据流> 这个参数是必须的。它指定了你要筛选过滤的数据流。(相对路径也可)

?c=include$_GET[page]?>&page=php://filter/convert.base64-encode/resource=flag.php

这句话的翻译一下就是:

包含一个名为page的文件以GET的方式上传,然后用连接符&来连接page的内容。

然后php://filter可以获取指定文件源码(resource=flag.php)。

convert.base64-encode对resource指定的数据(flag.php)进行base64编码。

最后将回显的码进行解码,就可以得到flag。

web32-36都可以用这个办法,我就不一一说了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值