扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:builder.com.cn 2007年4月23日
关键字:
跨站请求伪造(CSRF)
CSRF与跨站脚本(XSS)非常相似,二者之间只存在一个十分重要的差异:XSS利用客户端的弱点,而CSRF则利用网站服务器上的弱点。
根据OWASP的资料,CSRF攻击强迫已登录的受害者的浏览器向一个易受攻击的Web应用程序发送一个请求,然后它再代表受害者执行所选择的有利于攻击者的行为。(“OWASP Top 10”, 2007 (RC1),第19页)。
这段描述的关键部分是“强迫已登录的”受害者发送请求。攻击者利用网站对目标用户的信任。这意味着如果攻击取得成功,攻击者就能代表用户执行以下行为:
CSRF并不是一个微不足道的问题。据ha.ckers.org创立者rsnake称,互联网上有太多CSRF脆弱性需要注意(Kelly Jackson Higgins,“CSRF脆弱性:‘一个沉睡的巨人’”,darkReading,2006年10月17日)。WhiteHat Security的建立者Jeremiah Grossman也赞同这个观点,他指出:“由于工作机制与Web相似,[CRSF]并不被看作是一个脆弱性”(同上)。
它如何运行呢?HTML镜像标签和JavaScript镜像对象是CSRF最常用的两个路径。图C中列出了CSRF攻击常用的HTML和JavaScript方法(Robert Auger,“跨站请求伪造(CSRF/XSRF)常见问题解答”,cgisecurity.net,2007年1月28日)。
图C
CSRF攻击
攻击以各种形式发生。攻击方法包括电子邮件和引诱用户点击攻击者网站上的一个链接。一旦攻击发动,它依靠目标网站上的一个现有可信会话或受害者PC上的一个自动登录cookie来执行。如果存在一个可信会话,攻击命令就在受害者的安全环境中,在网站服务器上运行。
预防CSRF攻击相当困难,但并非无法预防。用户能够采用的最佳防御手段是采取适当的步骤,保证可信会话不会被攻击者所利用。
在努力编写不易受到CSRF攻击的应用程序时,网站开发者面临更大的挑战。下面是一些应该考虑的应对措施:
总结
直接对象引用不安全造成的漏洞很容易预防。基本的文件夹和目录访问控制和一致的输入确认能够阻止大多数这类攻击,即使不能防止全部攻击的话。
CSRF是一种更难防御的脆弱性。提高用户的危险意识以及说明如何保护自己免受攻击是一个好的开始。开发者必须了解如何建立一个可信会话,以及在提出可信行为时如何重新验证用户身份。开发出不会受到CRSF攻击的网站需要全面了解Web应用程序的设计过程。
责任编辑:德东
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者