初探web中的XSS和CSRF攻击

作者:bibodeng 发布于:2013-10-5 8:19 Saturday 分类:web开发

理解web安全

这几天接触了一下web安全,其中涉及到:

  • XSS攻击 —— cross site script
  • CSRF攻击 —— cross site request forgery
  • XSS+CSRF(蠕虫)
  • SQL注入

首先要理解XSS和CSRF,因为这是两种利用web缺陷发起的基本攻击,但是其威力也不容小视。首先我们要认识到HTTP协议是无状...

<?php $cookie = $_GET['c']; // 写到一个文件里面 print_r($cookie);

chrome浏览器会报错误,对于表单中的敏感字符串如script标签,js代码做了处理,所以提交不到服务端:

XSS攻击警告

但是IE内核的搜狗浏览器却中招了,当点击该链接的时候,将发送该用户的cookie到hacker的服务器上,这样就达到了初步的攻击。nodeJS社区上有更加精彩的XSRF攻击,利用注入的代码,获取用户信息,并且假冒用户发出各种请求(服务器中处理各种请求的就是功能函数,直接用url可访问),导致alert满天飞,并且自动顶帖。其实所有允许嵌入html标签的地方,都是相当危险的。

对于存储型的攻击,服务器端应该对用户的输入中敏感字符进行转义。严格来讲,不能信赖我们发送出去的客户端,更加不能信赖用户的输入。

上面例子中google浏览器对于提交的数据中带有脚本拒不运行,但是在搜狗兼容模式下,居然注入成功了,黑客提交的数据假设已经存储起来了,未加任何的处理直接在模板中直接输出,而用户点击了之后,会触发事件,从而向恶意服务器发送用户的cookie信息。发送的方式有很多种,例如图片src请求,location.href直接跳转,以及某些事件触发脚本运行,例如onclick。

防范的方法:

  1. 替换或过滤`
  2. 最新评论

  3. 标签

  4. 最新日志

  5. 随机日志

  6. 链接

  7. 存档

  8. 订阅Rss
Powered by emlog 京ICP备16017775