这次的规则比较蛋疼,不能连网,不能使用自己的电脑,提供的工具如下:
看到这些工具,还以为会有二进制,然而二进制选手只能呵呵哒,坐着打一天酱油了。
本次AWD只有一个WEB,用的是THINKPHP 3.2.3写的DNS WEB程序;
上来SSH连接后,写了好久的PHP WAF,但发现压根不能用,因为权限做的比较死,网站根目录下只有.key和.backdoor.php两个文件可以修改,其他文件都修改不了。
发现了几个漏洞如下:
查看download.php
从这里可以看到,是可以读取/flag文件的,但是难点就在如果获取/flag对应的token(所有队伍的.key文件是一样的,所以将.key内容修改后,就可以修复该漏洞),所以现在就是需要写出加密函数,找到/flag对应的密文,对应的加密函数如下
所以构造/dns-web/download.php?filename=/flag&token=ksvRmpjGmpaUkZPF
就可以直接读取/flag内容
直接通过var_dump,最终的格式是:<?php @${_GET}_GET; ?>
利用方式
靶场是每个队伍都是都有属于自己的环境,别人攻击不了,只能自己去攻击自己的服务器,找到flag
外网服务器:两台:10.1.10.1、10.1.10.2
内网服务器:三台,通过获取外网服务器的权限后,才能访问内网。
开放了80和一个tomcat控制台,但tomcat控制台没爆破成功,所以就放弃了。
80端口使用的MetInfo 5.3.1,利用update注入重置了后台管理员密码
(1).登录后,页面上就一个大大的flag
(2).后台getshell,然后从服务器上找了flag
扫描了端口,发现存在80和88两个端口
(1).80端口使用的IIS6.0,直接存在目录浏览漏洞,根目录下所有文件可见,但是只有图片文件(记住,这很重要)
(2).88端口使用的WeCenter 3.1.9,直接在robots.txt中找到一个flag(这里吐槽一下,这个flag在比赛刚开始时一直不对,到后面才可以)
本来以为要找wecenter的漏洞,但是然后并没有找到。
(3).80端口存在IIS PUT漏洞,直接PUT了asp,asp;.jpg等文件,然而并没有卵用。
(4).这里队友脑洞大开,意识到80端口中的图片其实是88端口里面的图片,上传到80端口的文件,在88端口也能访问。然后上传了一个php文件,不解析;接着上传php3文件,OK了,成功getshell。
(5).接着找flag,根目录下好像有一个,然后通过配置文件,连接到mysql,数据库中也有一个。
(6).最坑的提权过程了,先用UDF提权,创建了函数,并可以执行命令。因为只有“暗组工具包”,所以把工具包中的工具挨个试一便;这里面坑来了,使用工具添加了账号,开了3389,但死活登录不进去,最后将网站的账户httpd添加进管理员后,可以登录了。
(7).在administrator的桌面找到文件flag.zip,打开时,提示需要密码。发现使用了伪加密,拿到kali里面打开,直接得到flag
拿到10.1.10.2的权限后,扫描到内网存在10.1.10.3和10.1.10.4两台服务器,但是时间有限,没继续做下去了。