【转载】记一次吃外卖的bc尝试
某日寒风萧萧,正吃着泡面,小组成员丢来一个BC站,说拿到shell请我吃外卖,为了吃顿好的,必须盘它。
山重水复疑无路
先对站点的功能进行了一波浏览,并没有发现什么明显的漏洞。搭建网站的也不是什么常见的cms。
目录扫描 打开御剑和7kbstorm大佬的工具对网站目录进行一波扫描
御剑目录扫描:
7kbstorm目录扫描
扫描结果并没有发现什么敏感目录。
子域名爆破 于是我决定爆破一波子域名,正常情况下,这种小站点的子域名也少得可怜,大多数没有子域名,不过一旦有发现就很可能有重大突破 这里我使用lijiejie的子域名爆破工具。
发现了5个子域名
其中有两个可以正常访问 admin.xxx.com和dl.xxx.com
一处是管理后台admin.xxx.com
另一处是代理管理系统 dl.xxx.com
两个比较之下,代理管理系统连验证码都没有,应该会比较好日。所以先日dl.xxx.com。 弱口令爆破+万能密码尝试 使用burp intruder爆破弱口令,并没有什么收获. 万能密码也登不上。
接下来拦截登录请求,放到sqlmap测试一下是否存在注入,然而并没有注入。 测试到这里,我们整理一下思路:
1.我们可以继续日dl.xxx.com : 尝试爆破敏感目录、扫描端口、查找js文件看看是否存在未授权访问的接口。
2.继续日www.xxx.com;尝试扫描端口、查找js文件
3.日另一个子域admin.xxx.com
柳暗花明又一村
我们选择先日admin.xx.com
尝试使用弱口令amdin 123456登录,抓包发现验证码并没有在请求包中出现,也就是说验证码实际上是无效的,有点兴奋,我们可以使用burp intruder+字典爆破弱口令
又白高兴一场,测试不存在弱口令。 尝试了万能密码并没有什么卵用。 继续拦截登录请求包,放到sqlmap跑sql注入. 这一次sqlmap带来了惊喜,跑出了注入
--dbs跑库
看到库名ManageDB,直觉这就是管理员库 --tables跑出了user表,--dump跑出数据
数据里包括了管理员账号,管理员密码,还有管理员的ip,管理员的最后登录时间。 看到最后登录时间是2019.11.29,看来管理员还是经常登录的。 拿着密文来到cmd5解密一波,真是日了狗了,是个收费密文 来到somd5试一下,解出了明文
回到后台,输入账号和密码登录,然而
卧槽,竟然还验证登录ip。 灵机一动,我想到了刚才和管理员账号密码一起跑出来的管理员ip应该就是允许登陆的ip地址 以我多年CTF的经验,加个X-Forwarded-For头就可以简单伪造ip了,尝试一下
Bingo,登陆成功,CTF诚不我欺~
还有机器人配置这个操作,看来果然是骗子网站
翻了翻后台功能,并没有上传点,也不是常见的cms管理后台,不存在那种表面上被阉割事实上通过url路径还是可以访问的功能。 到这里就结束了吗?
虽然我们找不到上传点,但我们有一处sql注入,可以尝试直接写shell 先看一下是不是dba权限。
哦豁,是dba权限 可惜这是一个sql server数据库,看到网上sqlmap写shell教程里,先选择脚本语言,再选择绝对路径.....我的内心毫无波澜,因为sql server的--os-shell是这样的,和mysql完全不同
得到网站绝对路径的步骤就不说了,因为在这里没什么卵用,当我兴致满满的写shell的时候才发现并没有写权限。
这算哪门子dba权限!不过对于这种BC站,就算发生再魔幻的事情我都能接受。
最后的尝试
用nmap扫一波端口
3389端口没有开,不过1433端口是开放的,我们尝试爆破一波弱口令,看能不能直接连上mssql数据库。之前得到的后台管理密码也要尝试一下,万一和数据库是同一个密码呐。 事实证明我想太多了,不是弱口令,密码也和网站后台不一样。
到了这里,我知道外卖遥不可及,看着已经凉透的泡面,我加了点热水,含泪吃了起来。
这个界面的样式不都是laravel模板么,怎么会是asp.net