利用Firefox审计Web2.0应用程序安全
2009-09-16 00:00:00 来源:WEB开发网图 4 捕获Ajax调用
上面我们可以清楚地看到浏览器利用XHR发送的多个请求。它从服务器加载了AJAX 框架Dojo,并调用了在服务器上的一个资源来取得新闻文章。
http://example.com/ getnews.aspx?date=09262006
如果我们仔细观察此代码的话,我们就会在JavaScript代码中发现以下函数:
function getNews()
{
var http; http = new XMLHttpRequest(); http.open("GET", "
getnews.aspx?date=09262006", true); http.onreadystatechange = function()
{ if (http.readyState == 4) {
var response = http.responseText;
document.getElementById('result').innerHTML = response;
} } http.send(null);
}
上面的代码对后端Web服务器进行了一个异步调用,并请求资源 getnews.aspx?Date=09262006。这个页面的内容被放置在生产的HTML页面中标识符为“result”的位置上。这明显是利用XHR对象进行的Ajax调用。
通过这种形式的分析,我们能找出有弱点的内部URL、查询和POST请求。比如,对于上面的例子,参数“date”就容易受到SQL注入攻击。
五、爬行问题和浏览器模拟问题
当进行Web应用程序审计的时候,经常要用到一个重要侦察工具,即web爬虫。web爬虫抓取所有页面并收集所有的HREF(链接)。但是如果这些 HREF指向一个利用XHR对象进行Ajax调用的JavaScript函数的话,情况会怎样?很糟糕,Web爬虫可能遗漏这些信息。
更多精彩
赞助商链接