五、扫描客户端应用(News Feeds)
这部分,我们介绍手动扫描的过程。这种方法可以进行自动化,但是考虑到应用的复杂性,枚举所有的可能组合是很困难的。如图2所示,我们的示例站点提供RSS feeds的配置。下面开始对客户端组件的扫描。
图2. RSS feed配置
1.扫描库函数指纹
当WEB页面下载到用户浏览器后,所有的Java Scripts通过查看HTML源,都可以查找到。示例页面的Java Scripts脚本信息如图3所示。
图3. 应用页面的JavaScript
如果使用Firefox浏览器,安装“Web Developer”插件后,还可以查看到所有脚本的源码,具体如图4所示。
图 4. 所有JavaScripts脚本源码
通过扫描这些Java Scripts脚本可以得到以下信息:
AJAX的一个开发包文件dojo.js正在被使用。当提取指纹时,文件名成为重要的线索,通过进一步扫描内容,可以确定使用的版本。RSS feed应用所使用的函数及其所在文件也会和浏览器建立映射,本例中这些函数及其所在的文件如下:
(1)文件rss_xml_parser.js包含的函数processRSS() 和GetRSS(),用来从服务器获得RSS feeds并处理他们。
(2)文件XMLHTTPReq.jsfile包含函数makeGET()和makePOST(),用来处理AJAX请求。
(3)文件dojo.js包含其他一些函数。
把这些得到的被使用的库函数及其版本信息和已知的漏洞库中的信息进行比对,可以发现一些已经存在的漏洞。