js文件敏感信息搜集脚本

1.前言

在平常测试中,遇到前后端分离的站点,从js文件入手是个不错的选择。

从js文件中能可能发现一些敏感路径,也许就是未授权页面,当然敏感路径不在今天的讨论范围内,这方面有这非常优秀的工具jsfinder。

此脚本只是搜集js文件中的敏感信息,例如身份证号码、API key等

有两次就从js文件中找到了阿里云accesskey,进而配合cf拿下目标

这方面的工具有SecretFinder和burpsuite的插件hae,但SecretFinder我运行报错,且也不支持批量,hae呢要打开bp来配合使用,感觉比价麻烦。

身为脚本小子,顺手写个小脚本来满足下这个需求

2. 实现

脚本主要使用正则表达式来匹配相关敏感信息,正则表达式主要参考以下两个项目,其他的正则来源于网络

1.SecretFinder

2.API-Key-regex

过程中本来使用re的findall函数可以很方便的匹配出文件中所有匹配项,但在测试时发现了与表达式不符的匹配项,令人感到疑惑。

经过一番资料查询发现当正则表达式里有括号时,使用python re模块的findall函数匹配就会出现问题

细节参考
1.https://zhuanlan.zhihu.com/p/139596371
2.https://www.cnblogs.com/aaronhoo/p/13633986.html

遂采用search函数,通过下标和字符串截取的方式来匹配整个js文件

输入一个url,会爬取js文件进行匹配,也支持批量输入url,也可以的指定单独的js文件进行匹配

js文件敏感信息搜集脚本-

3. 不足及建议

1.有几个正则表达式误报比较多,比如匹配手机号的正则可能将身份证的一段匹配出来,所以大家可能需要从误报当中找出有用的信息,当然也可以将其删除。
2.大家可以新增和删除相关的正则表达式,也可以对已有的表达式进行修改以减少误报率
3.很多匹配项如google api和推特key之类我认为可以自行删除,国内站点应该很少用到这些吧,除非你挖的是国外src
4.一些匹配项不会直接将值匹配出来,例如accesskey,只能匹配到关键字,还要自己去js文件中寻找,因为感觉js文件中啥都有,有些直接匹配值的项已产生可大量误报,这个值不如直接去文件里找。

4.截图

js文件敏感信息搜集脚本-
js文件敏感信息搜集脚本-
js文件敏感信息搜集脚本-

相关源码已经放到github和附件

js文件敏感信息搜集脚本-

下载地址:https://github.com/laohuan12138/js_info_finder

© 版权声明
THE END
喜欢就支持一下吧
点赞5