freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

src漏洞挖掘篇之前端接口爬取测试思路
2023-11-22 15:32:24

如何寻找所有js文件

在我们挖掘src的时候很多都是登录页面,我们知道很多js文件需要你登录后才可以加载出来,但是如果对方是webpack打包的网站,他的js文件命名格式都是像下面这样,其他或者chunk-XXX格式之类的

我们可以全局搜索已经加载出来的js文件特征,我们可以看的全部的js文件都被写在这里了

1700636618_655da7ca97283db35a54b.png!small

下面就可以写脚本爬取所有js文件,根据接口格式来爬全部接口,接口我们可以bp抓登录接口,然后全局搜索一下来观察它的命名格式

1700636813_655da88dd173bb9419f14.png!small?1700636814865


1700636864_655da8c0b1ba085c5c427.png!small?1700636866304

py脚本

把js路径全部复制一下,删除引号等相关字符

1700637063_655da987d02ff57e67c3d.png!small?1700637064962

然后写个脚本批量爬一下

import requests
import re
result = set()#创建的是集合来去重
with open('js.txt','r') as file:
	for line in file:
		line = line.strip()
		r = requests.get('https://xxx.xxx.com/static/js/'+line,verify=False)#加载所有js文件
		#print(r.text)
		data = re.findall(r'url: "(.*?)"', r.text)#正则表达式来匹配所有接口
		print(data)
		for url in data:
			result.add(url)#将结果添加到集合当中
list = []
#这里是统一前面添加斜杠,因为有的奇葩网站有的接口前面有/,有的没有
for url in result:
	if not url.startswith('/'):
		url = '/'+result
	list.append(url)
#将结果导出到99999.txt
with open('99999.txt','a') as output_file:
	for url in list:
		output_file.write(url+'\n')

效果如下图

1700637713_655dac11639e6e5771c7e.png!small?1700637714398

接下来可以用burp来进行批量fuzz测试,fuzz一些参数来测试未授权之类的一些漏洞

# web安全 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录