本文属i春秋的原创奖励计划,未经许可禁止转载!
前言 半年前的我,手握各种WAF的bypass,半年之后的我。就把思路分享出来了。别问我什么!问了我也不会告诉你,我是没事闲的!是不是好多人遇见WAF,就一阵头大呢~今天我就开车啦~大家快上车!
正文 测试环境
php:我使用的是 phpStudy
WAF:各种WAF的官网
测试思路 php的本地环境是用来检测sql语句是否可以执行。
WAF官网用来测试语句是否被拦截。
重点 :
1.HTTP数据包的认识。
2.充分利用数据库的注释功能。
3.有对WAF的构造思路。
测试代码 本地PHP存在注入漏洞的代码:
<?php$id = $_GET['x'];$conn = mysql_connect('127.0.0.1','root','Lyy1314...');mysql_select_db('ceshi',$conn); $sql = "select * from user where id={$id}";$cun = mysql_query($sql);echo "< charset=utf-8>";while($row = mysql_fetch_array($cun)){ echo "url:".$row['URL']."<br>"; echo "password:".$row['password']."<br>"; echo "<hr>";} mysql_close($conn);echo "您当前执行的SQL语句:";echo urldecode($sql);?>
GET型注入测试 - 伪造HTTP数据包 GET型注入相对于POST注入来说,在某些方面是比POST注入bypass更轻松一些的。这是为什么呢?答案是因为POST数据包中也包含了GET包哦~我们可以通过伪造POST数据包的方式进行GET注入。
也就是说,GET的类型最少有三种,甚至更多的数据包类型可以进行注入。
如:POST、PUT、GET。
1.测试普通的GET型注入
可以发现,上面成功接收到了GET数据包提交的数据。这是理所当然的!
2.测试POST提交的GET型注入
从上面可以看出,POST数据包种,确实包含了GET的数据包。所以,在有些时候进行Bypass测试时,适当的改下数据包类型,也是可以的哦。
在360主机卫士的之前版本中,POST提交只拦截POST的数据,当你利用POST数据包进行GET注入时,它是不会进行拦截的哦~ GET型注入测试绕过云锁 - 伪造HTTP数据包 首先,我们去云锁的官网进行Bypass测试! 我们在云锁官网的URL后面加入 and 1=1 进行测试。
当然,正如所料 100% 被拦截
一般情况,大家都会扭头就走~ 那我们现在来伪造个POST数据包,进行测试把~
新闻热点
疑难解答