SQL注入之简单的本地环境测试

1、搭建本地留言板环境进行测试,获取用户名和密码

SQL注入之简单的本地环境测试

留言板的个人中心界面

2、添加一个单引号好出现数据库报错,可能存在sql注入


3、SQL注入之简单的本地环境测试

3、判断注入类型是整型还是字符串类型

SQL注入之简单的本地环境测试

SQL注入之简单的本地环境测试

1=1和1=2返回界面不一样,判断为整型注入

4、猜字段,7时界面正常,8时界面不正常,说明有7列

SQL注入之简单的本地环境测试

5、判断显示位,下面直接用union语句查询,看一下源码,mysql_fetch_array只被调用了一次,而mysql_fetch_array从结果集中取得一行作为关联数组或数字数组或二者兼有,具体看第二个参数是什么。所以这里无论怎么折腾最后只会出来第一行的查询结果

SQL注入之简单的本地环境测试

 为什么要在id=1前面加一个负号?


看一下源码,mysql_fetch_array只被调用了一次,而mysql_fetch_array从结果集中取得一行作为关联数组或数字数组或二者兼有,具体看第二个参数是什么。所以这里无论怎么折腾最后只会出来第一行的查询结果

SQL注入之简单的本地环境测试

只要让第一行查询的结果是空集,即union左边的select子句查询结果为空,那么union右边的查询结果自然就成为了第一行,打印在网页上了

界面上出现的2,3,4为可注入点

6、查看数据库名和版本

SQL注入之简单的本地环境测试

7、数据库表名

SQL注入之简单的本地环境测试

8、爆列名

SQL注入之简单的本地环境测试

9、最后枚举用户名和密码

SQL注入之简单的本地环境测试

一次很简单的sql注入