记一次从登录框到前台rce
2023-9-6 09:33:54 Author: 雾晓安全(查看原文) 阅读量:94 收藏

欢迎转发,请勿抄袭

        在某次众测项目中,开局发现是一个登录框,于是想放弃。经过弱口令工程师一顿输出,最终getshell。于是就有了这次分享~

1

接口未授权挖掘

        在网站未登录的情况下,由于不知道后台接口。唯一办法通过js文件、路径扫描。通过这种收集方式使用burp进行批量扫描,分别探测GET/POST请求。观察响应包跟状态码。判断响应包,确定存在未授权后,再构造数据包。

2

突破登录框

       在测试站点中,很多时候不提供测试账号。此时,就需要一个尝试爆破账号,但是有时候会有验证码(重发登录包,50%假验证码)。正好这次没有验证码。

拿到这种网站,先判断一下有无用户名猜解。判断存在与不存在账号。测试常见的admin、admin321,观察它们之间的提示。就算发现有这个admin账号,但是有密码错误锁定的情况,那么就尝试爆破账号。(手机号码与常规账号,总会有测试账号或者总会有人设置弱口令)

密码设置为弱口令123456,账号为字典进行爆破,根据响应包大小进行判断。最终拿到测试账号。

3

后台漏洞挖掘

       通过测试账号进入后台,额外注意接口跟上传下载点。由于这个我们没有网站代码,只能访问相关功能,并burp插件Autorize记录探测那些接口存在未授权。通过页面翻找,找到一个正常的上传点。

构造正常上传一个txt文件,发现这个功能先是上传后并读取该文件。

并尝将cookie凭证删除,发现仍然可以上传。

那么将它转成是前台的上传漏洞了。经过测试发现,目录也是可以穿越的,文件名可以任意。读取文件接口也存在穿越问题。

根据接口判断,该网站是可能是springboot的,显然上传jsp是不行。那么还剩下两个方式拿权限。一是上传ssh登录凭证、二是写定时任务反弹回来。扫描了一下ip,发现ssh端口未对外。于是尝试定时任务。

等了几分钟没反弹回来,通过于是又看了一下定时任务的日志。

最近的定时任务日志是在前一天,要么就是服务器时间慢了一天,或者是定时任务管理器在前一天被停了。再次尝试写定时任务。

* * * * * *  whoami>/tmp/data.txt

仍然无法读取到tmp下面的data文件,至此确定定时任务真没起来。

4

柳暗花明

        难道真的无法getshell了吗?通过下载接口,读取root用户的历史命令。找到网站路径。

看到这个webapps,瞬间精神了。直接构造上传路径,并输出jsp文件。上传shell~

哥斯拉连接上去,上个whoami截图。

通过检查网站文件,发现是一个tomcat里面有个目录是springboot。但是网站没见到其他的jsp文件。

这种开发方式属实少见。网站也是通过war方式部署。

由于是未授权的上传点。也算是前台rce了~~~

文章声明:该工具、教程仅供学习参考,请勿非法使用。否则与作者无关!

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NDM2MTE5Mw==&mid=2247500076&idx=1&sn=7af3c55bd55404653dcbd40a795f487d&chksm=ce680eaaf91f87bcee9c87799d8332d3f8bc1bd7c2a52f0feeab7f5fdc3d15f235719e09632b&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh