感谢方九夜师傅提供的文章
“ 引言部分,总领全篇文章的中心内容。”
正文内容从这里开始(可直接省略,亦可配图说明)。
01
—
现在大部分的项目,只有一个登录框,除了尝试一些历史漏洞以及功能点测试。
很多师傅都懒得F12网页源代码,还有就是一些js文件里的接口。
02
—
脚本和思路
import re
import requests
url=input("请输入js路径:")
response = requests.get(url)
list = ["(/[a-z0-9][a-zA-Z0-9]+)+","(/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+)+","(/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+/[a-z][a-zA-Z]+[0-9])+","(/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+)+","(/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+/[a-z0-9][a-zA-Z0-9]+)+"]
with open("api.txt", "w") as f:
for api in list:
pattern = re.findall(api, response.text)
f.write(str(pattern) + 'n')
print("结果已写入文件")
filename = ("api.txt")
with open(filename, 'r') as file:
content = file.read().replace('n', '')
content = content[1:-1].replace(',', 'n').replace(''', '').replace(' ', '')
with open('output.txt', 'w') as file:
file.write(content)
先在页面查看存在目录的js文件,然后启用脚本输入页面的js文件
随后生成api以及output文件
生成目录字典后,使用dirsearch工具进行指定字典扫描(注:要找到正确的路径进行拼接字典,例如有些网站url/api/字典目录,而不是url/字典目录)
扫描结果,可能会有GET提交直接未授权访问,或者就是post提交,自行构造未授权
案例如下:
访问发现请求方式错误
把路径复制,然后在js文件中搜索
最终的大致是这样。(post请求差不多就是 参数1=1&参数2=1 或者{"参数1":1," 参数2":"1"})
以我的理解,大致是这样
还有就是Webpack打包的js.map文件泄露可反编译出泄露的源码,可能泄露的各种信息如API、加密算法、管理员邮箱、内部功能等。
如何判断是否存在该漏洞:一般会在js的最后一行备注:名称.js.map
再来句 要加群的公众号直接回复加群,大家一起进来吹牛聊天交朋友。感谢这位师父提供的素材又让我们学会一招 感谢我九夜师父的一招 我学废了
特别声明:
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,我不为此承担任何责任。
作者有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者的允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。切勿用于非法,仅供学习参考
我不会渗透,我们下次再见!
原文始发于微信公众号(深夜笔记本):渗透小技巧分享
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论