zoukankan      html  css  js  c++  java
  • RoarCTF 2019

    Easy Calc

    之前RCTF在这个基础上出过一个更难的题,这次暂时先来解决原题

    网页上有个计算器,可以计算数字算法

    查看源码:

    有WAF

    注意到这里有个calc.php访问:

    源码有过滤,这里的话num只能输入数字,字母无法输入

    补充知识:

    正则匹配:/m 表示多行匹配

    PHP字符串解析特性绕过WAF
    
    输入时发现num只能输入数字,输入字符无法解析。
    PHP需要将所有参数转换为有效变量名,因此在解析查询字符串时,它会做两件事:1,删除空白字符;2,将某些字符转换为下划线(包括空格)
    
    现在的变量叫“ num”,而不是“num”。但php在解析的时候,会先把空格给去掉,这样代码还能正常运行,还上传了非法字符。

    scandir()函数:返回指定目录中的文件和目录的数组

    var_dump():输出变量的相关信息

    扫描目录无结果果

    构造payload,num前面加空格绕过限制上传字符:由于scandir("/")能扫描根目录,但是过滤了"/",就使用ASCII值绕过

    发现文件f1agg,读取:

    [Sign]做不出ctf题的时候很痛苦,你只能眼睁睁看着其他人领先你
  • 相关阅读:
    高放的c++学习笔记之函数基础
    高放的c++学习笔记之关联容器
    高放的c++学习笔记之lambda表达式
    二分图小结
    送给大一学弟学妹的几句话
    网络流小结
    后缀数组小结
    hdu5353
    UVALive 5792 Diccionário Portuñol
    概率dp小结
  • 原文地址:https://www.cnblogs.com/echoDetected/p/13091486.html
Copyright © 2011-2022 走看看