Digvuln Tricks之JS泄露全到后台越权
最近在整理笔记,找到了之前为某厂商的测试记录,特此分几篇文章来记录下用到的一些小技巧,以提高渗透测试效率。
今天的主题是:Javascript 接口安全,JavaScript文件泄露有可能会给我们的信息收集带来极大的便利,如子域名、后台地址、泄露的口令等信息,另一方面也可能会造成很多安全隐患,如JS劫持、蠕虫等攻击。
0x01 什么是JavaScript
JavaScript 是 web 开发者必学的三种语言之一:
- HTML 定义网页的内容
- CSS 规定网页的布局
- JavaScript 对网页行为进行编程
JavaScript与php、asp等语言不同,js源代码可以轻松被任何人获取到。
0x02 JavaScript导致的漏洞分类
绕过本地JS校验进行文件上传
敏感路径信息泄露
敏感操作信息泄露
跨站JavaScript蠕虫
......
乌云知识库:
0x03 js文件发现
接到测试项目,只拿到一个域名,故对其进行子域名挖掘与C段资产收集,在此不进行赘述。
收集到C段资产后,对其进行端口扫描:
附:**
常用的web端口:
80-90,443,7001-7010,8080-8090,8888,9000,9200
识别到如上图的资产,我选择其一开始打点工作:
这里推荐两个JS碰撞工具,大家根据实际情况选择即可
1.JSfinder@Threezh1
下载地址:https://github.com/Threezh1/JSFinder
JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具。
2.Packer-Fuzzer@rtcat
下载地址:https://github.com/rtcatc/Packer-Fuzzer
一款针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具
支持自动模糊提取对应目标站点的API以及API对应的参数内容,并支持对:未授权访问、敏感信息泄露、CORS、SQL注入、水平越权、弱口令、任意文件上传七大漏洞进行模糊高效的快速检测。
这里我使用工具对登录地址进行碰撞:
3.实战分析
这里使用Packer-Fuzz进行碰撞后,工具自动生成了报告:
去网站验证一下:
尝试登录:
看下Google chrome中的application模块有没有什么有趣的东西
发现有一个value键值在home时,也就是在登录时对应的是admin;在未登录时对应的是null
所以尝试在未登录的时候更改为admin
登录成功。
0x04 JavaScript接口安全建议
不在JS中保存明文密码、测试数据等信息,及时排查并删除相应内容。