0%

超详细讲解[小白勿喷]

2026-01-05 20:00By
CyberYang
RCE空格绕过WAF绕过

Problem: [GXYCTF 2019]Ping Ping Ping

思路

  • 1.输入www.baidu.com
  • 28ef39703e.jpg
  • 发现网站执行了ping命令(相当于ping www.baidu.com)
  • f8aba8c2ec.jpg

2.输入www.baidu.com;ls(相当于ping www.baidu.com;ls)两个命令ping ls

2219700271.jpg

网站在底部列出了flag.php index.php两个文件(上面是ping命令输出的不用管)

3533122423.jpg

  1. 下一步准备用cat输出index.php

2313004834.jpg

但发现不行

9d9c8b3cd8.jpg

我们考虑有空格过滤(就是输入框内容不能有空格)

上网查一下Linux空格绕过(就是把空格替换掉)

acd772a4f5.jpg

接下来一个一个进行测试

948b7aa2f6.jpg

发现$IFS$9可以使用

134cab642c.jpg

4.分析index.php 发现这个问题中的PHP正则表达式条件 preg_match("/.*f.*l.*a.*g.*/", $ip) 用于检查变量 $ip 是否按顺序包含字符 flag,且各字符之间可以有任意数量的其他字符。(可百度PHP中的preg_match函数)

我们的绕过方法就是使用变量不让flag顺序输入(详见EXP)

  1. 发现没反应,这时点击F12查看元素会发现flag

83b3fc40d1.jpg

EXP

  • 1d25dd8918.jpg

总结

  • 熟悉Linux命令,敏感字符绕过,php代码审计
  
© 著作权归作者所有
加载失败
广告
×
评论区
添加新评论