RoarCTF-2019-Easy-Calc
[RoarCTF 2019]Easy Calc
1.题目:绕过/Http走私
2.过程:
做HGAME走私者的时候发现的这题,拿来做一做……
网页是一个计算器功能,对特殊字符进行了过滤
提交参数时查看流量:
发现对calc.php和num,访问calc.php:
正则匹配模式:
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
按理应该是绕过……
法一:绕过
利用scandir扫描目录
+num可以绕过匹配,但在处理时+会被省去,实现绕过,chr
结合var_dump显示目录:
发现f1agg文件
然后用file、file_get_contents去读取文件,用chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)拼接绕过黑名单
dalao:
https://www.cnblogs.com/gyrgyr/p/5774436.html
所以他实际上有两层检测,第一层检测过滤各种字母;+num绕过后还会过滤引号等。
2.Http走私
其实不太明白服务器架设之类的知识,可以去学一下……
由于前后端服务器对信息体的识别问题,加上缓存重用连接,导致了漏洞……?
但这道题挺诡异的:
只需要两个CL头就可以绕过……
猜测和这个有关系Http走私4.3.1-ATS第一个补丁……
个人猜想:前端服务器读出有两个CL头,虽然报错,但仍然转发了请求(所以三个CL头也能成……)。
dalao:星盟
ok
RoarCTF-2019-Easy-Calc