BUUCTF [RoarCTF 2019] Easy Calc Web writeup

BUUCTF [RoarCTF 2019] Easy Calc Web writeup

启动靶机,打开页面:
BUUCTF [RoarCTF 2019] Easy Calc Web writeup_第1张图片
一个简单的计算器页面,查看网页源码:
在这里插入图片描述
提示设置了WAF以确保安全,尝试访问calc.php
BUUCTF [RoarCTF 2019] Easy Calc Web writeup_第2张图片
得到了WAF源码,分析代码:

  1. 需要传入变量num的值
  2. 设置了一系列黑名单的值
  3. 如果传入的变量num中有黑名单包括的符号,将终止程序
  4. 否则将输出num的内容

根据PHP的解析规则:如果变量前面有空格,会去掉前面的空格再解析

WAF限制了参数num,将传入的参数'num'前添加空格,即'? num'可绕过WAF的判断,将字符/使用char(47)表示:

? num=1;var_dump(scandir(chr(47)))

在这里插入图片描述
在返回的文件中有f1agg文件,将其转化为ASCII编码,使用file_get_contents()函数读取文件:

? num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

在这里插入图片描述
得到flag

你可能感兴趣的:(BUUCTF,WEB,Writeup)