WEB开发网
开发学院网络安全安全技术 使用 Firefox攻击Web2.0应用(二) 阅读

使用 Firefox攻击Web2.0应用(二)

 2007-07-21 13:06:43 来源:WEB开发网   
核心提示: 上述代码发送一个异步的调用访问Web服务器,企图获取的资源是:getnews.aspx?date=09262006这个aspx页面经过编译后传给客户端浏览器,使用 Firefox攻击Web2.0应用(二)(3),其代码放在ID为result的标签所在处,这是一个典型的使用XHR对象进行的A

上述代码发送一个异步的调用访问Web服务器,企图获取的资源是:

getnews.aspx?date=09262006

这个aspx页面经过编译后传给客户端浏览器。其代码放在ID为result的标签所在处。这是一个典型的使用XHR对象进行的Ajax调用的例子。

通过借助Firebug进行分析,我们可以记录一个页面所有XHR对象调用,从而发现有安全漏洞的内部URL、查询字符串和POST请求。仍然以上面的代码为例,参数date的值如果处理不当,就可能存在SQL注入漏洞。

3.2网络爬虫问题及浏览器仿真

在评估一个Web应用安全性时,一个重要的工具是网络爬虫。网络爬虫功能是爬下该Web应用中的每个网页,搜集其中的链接。但是在Web2.0的应用中,这些链接往往都指向JavaScript函数,再由JavaScript函数通过XHR对象调用新的页面内容,这时,网络爬虫会丢失这些信息。例如,下面是一个简单链接的集合。

<a href="http://cms.ddvip.com/index.php#" onclick="getMe(); return false;">go1</a><br>
<a href="/hi.html">go2</a><br>
<a href="http://cms.ddvip.com/index.php#" onclick="getMe(); return false;">go3</a><br>

“go1”链接被点击时,getMe()函数被执行,getMe()函数的代码如下所示。这个函数可能在一个单独的JavaScript文件中实现。

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);
}

上一页  1 2 3 4  下一页

Tags:使用 Firefox 攻击

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