web|[RoarCTF 2019]Easy Calc_WP

分析
文章目录

    • 分析
    • 绕过得flag
    • php字符串解析性
    • 方法2

  • 打开就是一个可以实现计算功能的页面,没有利用信息web|[RoarCTF 2019]Easy Calc_WP
    文章图片
  • 查看源码
  • web|[RoarCTF 2019]Easy Calc_WP
    文章图片
  • 发现了一个新的链接calc.php,以及设置waf的提示
  • 进入calc.php
  • 得到一串PHP代码,过滤了一大堆,明显是要绕过的web|[RoarCTF 2019]Easy Calc_WP
    文章图片
绕过得flag
  • 经过尝试,只有url栏输入字母时不会正常回显
  • web|[RoarCTF 2019]Easy Calc_WP
    文章图片
  • web|[RoarCTF 2019]Easy Calc_WP
    文章图片
  • 这块便需要用php字符串的解析性来绕过
  • ? num=1; var_dump(scandir(chr(47)))
  • web|[RoarCTF 2019]Easy Calc_WP
    文章图片
  • ? num=1; var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
  • web|[RoarCTF 2019]Easy Calc_WP
    文章图片
php字符串解析性 PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:1.删除空白符 2.将某些字符转换为下划线(包括空格)【当waf不让你过的时候,php却可以让你过】
%20num 在url栏传入时变量名此时为“ num”,那么“num”变量为空,故在此题中会进入到后续else的语句
方法2 【web|[RoarCTF 2019]Easy Calc_WP】http走私攻击
web|[RoarCTF 2019]Easy Calc_WP
文章图片

    推荐阅读