Less 11-16
Less 11 POST - Error Based - Single quotes- String
这一关页面发生了变化,开始使用post方法传递参数。
在Username字段输入1'
,查看错误信息。
错误信息中发现password字段,基本可以确认这两个字段在同一个sql语句中联合查询。
使用order by注入测试返回的参数为几列。
测试到3时报错,证明返回两列。
注意,这里的注释使用的是--
(两个减号一个空格),而不是之前的--+
。之前也提到使用加号是因为在某些http实现时会将加号转变为空格。这里使用#
进行注释也是一样的。
使用union select注入查询数据库名,数据库中表名。
-1' union select database(),group_concat(table_name) from information_schema.tables where table_schema='security' --
这里也返回报错信息,因此使用floor()
、updatexml()
、extractvalue()
函数进行报错注入同样是可以的。
使用floor()
报错查询数据库名
-1' union select count(*),concat(database(),floor(rand(0)*2))a from information_schema.tables group by a --
Less 12 POST - Error Based - Double quotes- String- with twist
这一关与第十一关类似,只是闭合方式变为了")
。
Less 13 POST - Double Injection - Single quotes- String- With twist
这一关与前两关区别在于不显示查询信息了,但依旧显示错误信息。可以用错误注入,同时闭合方式变为了')
,其他没有区别。
Less 14 POST - Double Injection - Single quotes- String-With twist
与第十三关类似,只是闭合方式改为了"
,其他没区别。
Less 15 POST - Blind- Boolian/time Based - Single quotes
这一关使用bool型盲注,稍微改一下使用get方法进行盲注的脚本