前序文章:
https://blog.csdn.net/xiru9972/category_11976765.html?spm=1001.2014.3001.5482
BApp Store Popularity Rank

入口除了常见的UI,也加载了漏洞库


来看看
public static final String REPO_URL = "https://raw.githubusercontent.com/Retirejs/retire.js/master/repository/jsrepository.json";

这里应该是整个代码的核心,JS漏洞库
接下来的工作就非常简单了,就是匹配js然后从库里面搜,有就命中漏洞产生工单,没有就pass
判断contenttype==“javascript”或者文件后缀==js

一种扫js,一种扫html

往下走就是走到ScannerFacade的scanScript

我们在load的时候可以看到对lib这个对象进行的参数赋值

所以上面的操作是先findByUri
也就是取出知识库里面urikey的值

如果没取到就取filename、hash,直到匹配到对应的string或者正则为止。
如果找到uri、filename、hash、filecontent、就存到数组里直接生成工单

这里有个问题是key=func这个信息点没有用上,这里可能是比较遗憾的地方

扫描html的思路就是从content里面提取jsurl,提取的方式就是找到SCRIPT标签

扫描出来的url再丢到Scriptscan里面

JSON查起来不方便可以转化成飞书文档,将数据文档化方便查阅。
