苏苏的五彩棒 李白你好 发表于青海
免责声明:由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
网站的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<Map<String , Object>> listData = securityCheckDao.selectAllQuestionType(requestJson);
复制代码
加入参数再遍历一下,发现大量敏感信息,这里一定要注意加上 根目录 这个网站的根目录是statistics
正当要放弃的时候,在另外一个包中发现了如下接口
可以读取dpf文件
但无法读取xls文件
再跑下常用接口试下,发现了download
利用download接口可以直接将xls文件下载到本地,在xls文件中发现大量敏感信息
2► 技术细节逻辑漏洞找回密码 在接口中发现找回密码功能(前台并无该功能,猜测是删除了前台入口),但是直接发包报错,缺少参数
直接猜解登录参数,loginName成功发包,发现密码直接在返回包中(咱也不知道研发是怎么写代码的) 直接以admin身份登录系统后台 找到一个上传接口,可以上传jsp文件,但是只返回文件名,最终也没有成功找到路径 3► 任意文件读取 突然想到上面的文件读取接口会不会存在任意文件读取,尝试后成功读取web.xml文件,我们可以看到存在log4j
4► Log4j反弹shell 功能目的是确保系统的持久立足并开展内部情报活动。 执行命令,Java版本号打印在dnslog上
直接反弹Shell,利用方式这里就不再赘述了 5► 总结 大致思路如下,主要的难点还是在于找到接口相应的参数,配合API未授权获得大量敏感信息,对信息进行进一步利用,思路要放开。
fuzz接口也可以使用Packer Fuzzer工具也挺好用的,它是一款针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具
- https://github.com/rtcatc/Packer-Fuzzer
复制代码
文章作者:奇安信攻防社区(苏苏的五彩棒)
|