首页 > 开发 > PHP > 正文

WAF的正确bypass

2024-05-04 22:49:51
字体:
来源:转载
供稿:网友

本文属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数据包,进行测试把~ 

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表