渗透|记一次抽丝剥茧式的渗透测试_集群智慧网络安全云
全国客户服务热线:4006-054-001 疑难解答:159-9855-7370(7X24受理投诉、建议、合作、售前咨询),173-0411-9111(售前),155-4267-2990(售前),座机/传真:0411-83767788(售后),微信咨询:543646
企业服务导航

渗透|记一次抽丝剥茧式的渗透测试

发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370


渗透|记一次抽丝剥茧式的渗透测试

网站的JS文件中通常会泄漏一些接口、URL、子域等信息,更有甚者会泄漏一些敏感信息,如OSS的AKSK等,我们利用泄漏的接口配合未授权访问,可以获取到更多的敏感信息,为后续渗透工作带来便利。本文以一次项目实战为基础展开。 1、敏感信息泄漏 系统登录框没有验证码,抓下包看看能不能跑个弱口令 加密加登录失败次数限制,直接放弃 跑下目录也没有收获 但是在JS文件中发现了好东西 利用JS美化工具,发现多个接口目录 可以简单利用正则编写一个脚本,把接口提取出来 import re def main(): with open('logpath.txt', 'r') as f: read = f.read() allList = set() list1 = re.findall(r'"(/[^"]+)*"', read) print(list1) for x in list1: allList.add(x)  outFile = open("output-path.txt", "w") allList = list(allList) allList.sort() for x in allList: outFile.write(x+"n") if __name__ == '__main__': main() 直接丢进burp中跑一下,发现大部分会报错,缺少参数,但是从报错信息中我们可以获取到接口使用的库 搜索一下PageInfo的参数发现为pageNum、pageSize PageHelper.startPage(pageNum, pageSize); List> listData = securityCheckDao.selectAllQuestionType(requestJson); 加入参数再遍历一下,发现大量敏感信息,这里一定要注意加上 根目录 这个网站的根目录是statistics 但是另一接口存在大量XSL文件,但是找不到正确路径 正当要放弃的时候,在另外一个包中发现了如下接口 可以读取dpf文件 但无法读取xls文件 再跑下常用接口试下,发现了download 利用download接口可以直接将xls文件下载到本地,在xls文件中发现大量敏感信息 2、逻辑漏洞找回密码 在接口中发现找回密码功能(前台并无该功能,猜测是删除了前台入口),但是直接发包报错,缺少参数 直接猜解登录参数,loginName成功发包,发现密码直接在返回包中(咱也不知道研发是怎么写代码的) 直接以admin身份登录系统后台 找到一个上传接口,可以上传jsp文件,但是只返回文件名,最终也没有成功找到路径 3、任意文件读取 突然想到上面的文件读取接口会不会存在任意文件读取,尝试后成功读取web.xml文件,我们可以看到存在log4j 4、log4j 反弹shell 执行命令,Java版本号打印在dnslog上 直接反弹Shell,利用方式这里就不再赘述了 总结 大致思路如下,主要的难点还是在于找到接口相应的参数,配合API未授权获得大量敏感信息,对信息进行进一步利用,思路要放开。 fuzz接口也可以使用Packer Fuzzer工具也挺好用的,它是一款针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具 https://github.com/rtcatc/Packer-Fuzze 原文链接:https://forum.butian.net/share/2422 黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担! 如侵权请私聊我们删文 END

渗透|记一次抽丝剥茧式的渗透测试