[RoarCTF 2019]Easy Calc_WP

分析

文章目录

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

  • 打开就是一个可以实现计算功能的页面,没有利用信息[RoarCTF 2019]Easy Calc_WP_第1张图片
  • 查看源码
  • [RoarCTF 2019]Easy Calc_WP_第2张图片
  • 发现了一个新的链接calc.php,以及设置waf的提示
  • 进入calc.php
  • 得到一串PHP代码,过滤了一大堆,明显是要绕过的[RoarCTF 2019]Easy Calc_WP_第3张图片

绕过得flag

  • 经过尝试,只有url栏输入字母时不会正常回显
  • [RoarCTF 2019]Easy Calc_WP_第4张图片
  • [RoarCTF 2019]Easy Calc_WP_第5张图片
  • 这块便需要用php字符串的解析性来绕过
  • ? num=1;var_dump(scandir(chr(47)))
  • [RoarCTF 2019]Easy Calc_WP_第6张图片
  • ? num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
  • 在这里插入图片描述

php字符串解析性

PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:1.删除空白符 2.将某些字符转换为下划线(包括空格)【当waf不让你过的时候,php却可以让你过】
%20num 在url栏传入时变量名此时为“ num”,那么“num”变量为空,故在此题中会进入到后续else的语句

方法2

http走私攻击
[RoarCTF 2019]Easy Calc_WP_第7张图片

你可能感兴趣的:(web,php,安全漏洞)