前 言
有很长一段时间没推更了,原因挺多,一是不想分享一些肤浅的测试、二是在做项目上的事情,保密性没法做分享。
今天给师傅们带来一些好用的JS手法测试
1.问题主要还是在内网,一些大厂系统在做运维喜欢把Js统一打包,包括全局的路由、文件读取的点;但这些都是在内网。
2.如果站点在外网、有运维有众测有多轮测试的情况,接口api都会做鉴权,引入token,这时候接口未授权相当于0,肯定挖不到。
今天分享JS接口基础测试不说了,主要分享两个案例,
1.接口找到未授权路由网页,网页引发的sql注入案例。
2.多轮测试后发现接口未授权的方法。
0X00
iframePath:"xxxxx/xxxxx/xxxxx/ManualStrategy/page/manualStrategy.html"
业务上线系统,有个iframePath的值, Jsfinder看到这个网页.html可访问。大概是这么个图
然后这里有表单,然后这表单有排序点,排序点可注
在这里拼了if('1'='1','a',1) 后基本判定是mysql,后续交给sqlmap延时了。
sqlmap的延时结果
(SELECT%204259%20FROM%20(SELECT(SLEEP(3)))eHZf)
这是个最典型的Js接口发现网页的未授权,网页未授权后有表单,可能有排序,有文件导入,可能有文件上传; 但这不适合用众测、各大Src的场景。
0X01
一些比较苛刻的情况,比如众测、多轮测试后,系统关键api都做了鉴权,
处理办法
发现隐藏资产
测试chunk文件
这里侧重谈第二种chunk文件,chunk文件包含很多系统全局的路径,如果站点这样配置
加载了全部的chunk文件,可以提取出来,比如main.js文件中路径较少、api较少可以适用。提取后成下面这样
这时候再通过jsfinder等提取工具提取,就会有很多之前隐藏的接口,一些未授权的301、200
可能对攻防、众测意义不大,但他就是未授权,可以写报告交差
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款