跨站脚本攻击(XSS)和跨站请求伪造攻击(CSRF)

XSS攻击原理
php

xss诱使Web站点执行原本不属于它的代码,而这些代码由攻击者提供、为用户浏览器加载。攻击者利用
这些代码执行来获取信息。从本质上来说,XSS漏洞终究缘由是因为网站的Web应用对用户提交请求参数未作充
分的检查过滤。
例子:
咱们能够给输入框输入:<I><FONT SIZE=7>Java</FONT></I>,若是网站存在安全漏洞的话就会出现显示“Java”,若是将其换成不安全脚本将会产生危害

危害

  • 盗取用户的各种敏感信息,如帐号密码浏览器

  • 读取、篡改、添加、删除企业敏感数据安全

  • 读取企业重要的具备商业价值的服务器

  • 控制受害者机器向其它网站发起攻击cookie

如何预防

  • Javascript来对字符进行过滤,将一些如%、< 、>、 [、]、{、}、;、&、+、-、"、(、) 的字符过滤掉。session

  • 使用HTML和URL编码xss

CSRF攻击原理

CSRF经过假装来自受信任用户的请求来利用受信任的网站,能够XSS来获取受信任用户tookie来假装为受信任用户。
例子:
(1)若果一个论坛网站的发帖使用的是get请求咱们JS把发贴内容拼接成目标URL并访问
http://example.com/bbs/create_post.php?title=我是脑残&content=哈哈,只要你点击了这个连接便会在用你的用户名在论坛发这样一个帖子。为何会用你的用户名发帖呢,这是由于多窗口浏览器问题。
(2)图片连接有获取tookie的js代码,能够获取你的cookie冒充你。

多窗口浏览器问题:
多窗口浏览器永远都只有一个进程,各窗口的会话是通用的,即看新闻的窗口发请求到Blog是会带上我在blog登陆的cookie。

危害

  • 同XSS攻击post

如何预防

  • 检查访问源的报头,检查refer网站

  • 使用秘密的没法预测的验证符号编码

  • 使用定制的HTTP报头

  • 限制验证cookie的到期时间,时间越短越安全,可是用户越不方便

cookie和session机制

Web应用程序是使用HTTP协议传输数据,而HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的链接就会关闭,再次交换数据须要创建新的链接。这就意味着服务器没法从链接上跟踪会话。为此引入cookie和session机制。
  • cookie其实是一小段放在客户端的文本信息,信息按照K——V的形式存放,好比常见的保存用户名、密码方便下次登陆。

  • session是服务器端使用的一种记录客户端状态的机制,做用是给客户端指定惟一通行证——sessionId,同时保存在“客户档案”中。

  • 当客户端和服务器首次创建链接时,服务器就会给客户端分配惟一通行证——sessionId,同时session也会在本地创建一个客户档案,当下次客户端请求的时候只须要验证sessionId。

扩展阅读:

        XSS攻击

相关文章
相关标签/搜索