2019 Roarctf web 复现

那时候没来得及打比赛,这段时间复现一波。

一.Easy Calc

1.打开题目是一个计算器,首先随便输入几个测试一下,当输入的内容有字母的时候,会弹框 ”这啥算不来“
在这里插入图片描述F12,查看一下网页源代码,有一个calc,我们去访问一下calc.php
在这里插入图片描述过滤了一些东西,但是为什么输入字母就会出现“算不来”这个弹框呢,推测有waf,这个时候陷入了思考,该如何绕过呢?

2.网上搜索到了这篇文章
https://www.secjuice.com/abusing-php-query-string-parser-bypass-ids-ips-waf/

3.这边绕过的主要原理就是:

calc.php?%20num=1

当这样输入的时候,php会将%20num解析为num。
下面我们测试一下

1.php内容如下 <?php echo $_GET[a]; ?>
访问 http://127.0.0.1/1.php?a=1 返回1
访问 http://127.0.0.1/1.php?%20a=1 返回1

4.payload:
calc.php?%20num=var_dump(scandir(chr(47)))
在这里插入图片描述
calc.php?%20num=var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
getflag

二.Online Proxy

打开页面如下
在这里插入图片描述
刚开始还在那边捣鼓了半天,F12,查看源码发现。。。。。。
在这里插入图片描述这边有 current IP,随手改了一下X-Forwarded-For,发现再一次访问的时候
在这里插入图片描述
感觉这里有点东西,这边显示了last ip,我猜测他把上一次输入的放进了数据库里面。
再次尝试一下其他的输入:
在这里插入图片描述
当我们再次访问index.php的时候,就会延迟5s,说明这里是可以注入的,然后直接写脚本就行了。

这里我就不把自己的脚本拿出来丢人了 QWQ,可以参考一下这边的脚本,
https://github.com/berTrAM888/RoarCTF-Writeup-some-Source-Code/blob/master/Web/online_proxy/writeup/Exp.py

三.simple upload

发布了28 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43342566/article/details/102829116