扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:赛迪网 来源:赛迪网 2007年10月5日
关键字:
在本页阅读全文(共2页)
这个页面使用到的JavaScript脚本的依赖关系都可以从图7中清楚的看到。这个页面使用到了ajaxlib.js和validation.js这两个脚本文件。这两个脚本文件中存在一些函数被登录页面使用到。我们可以在auth()这个函数中设下断点,然后在用户名和密码框内输入用户名和密码,点击“Submit”,开始单步执行。
现在,我们来单步执行该程序,点击“Step in”,进入下一步,运行到如图8中高亮显示的部分,JavaScript的执行转到了另外一个位于validation.js文件中的函数userval(),如图9所示。
前面的图9所示的函数用来验证用户名的合法性。一旦验证通过,会执行下一个函数callGetMethod()。如图10所示。
最后,到达执行序列的最后,可以看到通过XHR对象调用后台的Web Services,如图11所示。
这里,我们就获得了后台服务器Web Services的资源的位置。
http://example.com/2/auth/ws/login.asmx/getSecurityToken?username=amish&password=amish
上述资源显然是运行在.net框架下的一个Web service。经过分析过可以发现,用户验证可能可以被绕过,这对Web2.0的应用来说无疑是潜在的威胁。
进一步考虑,我们可以通过使用WSDL(Web Services Description Language)文件对这个Web service进行暴力扫描。也可以进行一些注入攻击,例如SQL注入或者XPATH注入,可以使用诸如wsChess等工具,wsChess 是Net-Square公司所推出的基于.NET的Web Services安全工具包。
在这个例子中,该Web Service存在XPATH注入漏洞,对Web Service的安全评估超出了这篇文章的讨论范围。另外,这种单步执行技术,可以帮助识别一些客户端攻击,例如XSS(跨站脚本攻击),操纵DOM的攻击,绕过客户端的安全控制,恶意Ajax代码注入等。
四、结论
SOA(面向服务体系结构)Ajax,RIA(Rich Internet Application)和Web Services是下一代Web应用的重要组成部分。为了跟上这些技术的发展,应对下一代Web应用中的安全挑战,我们需要研究不同的方法,同时开发一些安全工具。评估这些应用安全性的一个高效的手段就是使用浏览器。
本文我们采用了几种技术去评估Web2.0应用的安全性。使用这些方法,可以发现和分离出一些与Ajax相关的安全漏洞。浏览器自动化脚本可以帮助我们在客户端资源中寻找和定位安全漏洞。
下一代Web应用中,JavaScript得到了广泛的应用。方便好用的调试工具是我们用来战胜安全漏洞的利器。这篇文章介绍了使用Firefox浏览器及其插件对Web2.0应用进行安全评估。
参考文献
[1] Ajax security,http://www.securityfocus.com/infocus/1868
[2] XHR Object specification, http://www.w3.org/TR/XMLHttpRequest/
[3] Firebug download, https://addons.mozilla.org/firefox/1843/; Firebug usage,http://www.joehewitt.com/software/firebug/docs.php
[4] Chickenfoot quick start, http://groups.csail.mit.edu/uid/chickenfoot/quickstart.html
[5] Chickenfoot API reference - http://groups.csail.mit.edu/uid/chickenfoot/api.html
[6] Venkman walkthrough, http://www.mozilla.org/projects/venkman/venkman-walkthrough.html
[7] wsChess, http://net-square.com/wschess
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。