各位好,本章介绍提供搜寻安全狗弱点的方法,方法只供参考。
0x00 搭建环境
用phpstudy 搭建的,各位肯定都会。如果不会就百度好了。
0x01 编写SQL注入漏洞脚本
我写的PHP脚本,制造一个SQL注入漏洞,然后将成功注入的SQL语句保存进文本。
<html> <body> <form action="/test.php" method="post"> <p>请输入ID号:<input type="text" name="id"></p> <input type="submit" value="Submit"> </form> </body> </html> <?php if (isset($_POST['id'])){ $id = $_POST['id']; $mysql_server_name='localhost'; //改成自己的mysql数据库服务器 $mysql_username='root'; //改成自己的mysql数据库用户 $mysql_password='root'; //改成自己的mysql数据库密码 $mysql_database='Mydb'; //改成自己的mysql数据库名 $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting") ; //连接数据库 mysql_query("set names 'utf8'"); //数据库输出编码 应该与你的数据库编码保持一致.用UTF-8 国际标准编码. mysql_select_db($mysql_database); //打开数据库 $sql ="select * from info where id=".$id; //SQL语句 echo "执行的SQL语句为: " . $sql; $result = mysql_query($sql,$conn); //查询 while($row = mysql_fetch_array($result)){ echo "<div style="height:24px; line-height:24px; font-weight:bold;">"; //排版代码 echo "ID :" . $row['id'] . " NAME:" . $row['name'] . " PASSWORD:" . $row['password'] . "<br/>"; echo "</div>"; //排版代码 } $filename="a.txt"; $handle=fopen($filename,"a+"); $sql = $sql . " "; $str=fwrite($handle,$sql); fclose($handle); }else{ echo "id为空"; } ?>
0x03 安装安全狗并开日
安装安全狗过程就不说了,大家都会。如果不会还是百度吧。
用SQLMAP 加上绕过脚本,批量测试。SQLMAP各位肯定会用,如果不会请百度。
安全狗过滤日志如下:
测试结果如下:
0x04结束语
这个安全狗,给我的感觉是假狗。在这只是抛砖,大佬可以自由发挥。
SQL注入成功记录如下: