WEB开发网
开发学院网络安全安全技术 利用Firefox审计Web2.0应用程序安全 阅读

利用Firefox审计Web2.0应用程序安全

 2009-09-16 00:00:00 来源:WEB开发网   
核心提示: 在许多情形下,模拟这个环境将变得非常困难,利用Firefox审计Web2.0应用程序安全(5),比如,下面是一组简单的链接:go1go2go3单击链接go1的时候,这个插件的优点是所有这些 onclick事件都是由后端基于XHR的Ajax调用发出的;而这些Ajax调用是会被网络爬虫所遗漏的,因为

在许多情形下,模拟这个环境将变得非常困难。比如,下面是一组简单的链接:

go1
go2
go3

单击链接go1的时候,就会执行getMe()函数,这个函数的代码如下所示。 需要注意的是,这个函数也可以放在一个单独的文件中。

function getMe()
{ 
var http; 
http = new XMLHttpRequest(); 
http.open("GET", "hi.html", true); 
http.onreadystatechange = function() 
{     
if (http.readyState == 4) {      
var response = http.responseText;       
document.getElementById('result').innerHTML = response;     
}     
} http.send(null);
}

上述代码对在服务器上的资源hi.html进行了一个简单的Ajax调用。

那么,我们能够自动模拟这个单击吗?答案是肯定的。一个方法就是使用Firefox插件Chickenfoot,这个插件提供了基于JavaScript的应用程序接口,从而为浏览器提供了一个可编程接口。

通过此Chickenfoot插件,您可以编写简单的JavaScript代码来自动发出浏览器动作。使用该方法,就可以轻松完成爬行web页面之类的简单任务的自动化。举例来说,以下简单脚本将利用onclick事件来“单击”所有的锚。与传统的web爬虫相比,这个插件的优点是所有这些 onclick事件都是由后端基于XHR的Ajax调用发出的;而这些Ajax调用是会被网络爬虫所遗漏的,因为网络爬虫会试图解析JavaScript 并且收集可能的链接,却无法替换实际的onclick事件。

l=find('link')
for(i=0;i< PRE>a = document.links[i];
test = a.onclick;
if(!(test== null)){ var e = document.createEvent('MouseEvents'); 
e.initMouseEvent('click',true,true,document.defaultView,1,0,0,0,    
0,false,false,false,false,0,null); a.dispatchEvent(e);  }
}

上一页  1 2 3 4 5 6 7 8  下一页

Tags:利用 Firefox 审计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接