您好,登录后才能下订单哦!
小编给大家分享一下WAF中正确bypass的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
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数据包,进行测试把~
正如我们期待的那样,伪造数据包后,WAF就被一棍子打死了~ 有时,即使我们伪造数据包后,仍过不了WAF,不要灰心,因为这个时候WAF的规则绝对比GET包的规则少哦~ GET型注入测试 - 合理构造HTTP数据包 - 思路 在http数据包中每个参数中间都会用&符连接,那么我们可不可以利用这个&符号呢? 下面我们先来进行本地测试!
我们发现即使 &符后面的参数被 /* 包含住,这可以被接收到。并没有被注释掉! 那是因为, /* 被HTTP当成了参数a的值,而并不是当成了注释! 有时候,我们可以利用这个方法,加其他的方法来bypass。
以上是“WAF中正确bypass的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。