浅谈xss攻击

  近期学习过程中提到xss攻击的问题,便想要了解一下,总结如下:

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。

 1.什么是XSS攻击:

  XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。

 2.XSS的危害: 

  1、盗取各类用户账号,如机器登录帐号、用户网银帐号、各类管理员帐号
  2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  3、盗窃企业重要的具有商业价值的资料
  4、非法转账
  5、强制发送电子邮件
  6、网站挂马
  7、控制受害者机器向其它网站发起攻击
 
 3.XSS的几种攻击方式:
 
   图片攻击:<IMG SRC="http://hax0r.com/Haxored.png">
   或者视频flash:<EMBED SRC= http://hax0r.com/Haxored.swf
        还有网站重定向:<script>window.open( "http://www.hax0r.com/Haxored.html" )</script>
        也可以:<meta http-equiv="refresh" content="0; url=http://hax0r.com/Haxored.html" />
 
4.XSS漏洞修复: 
 
    A.传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击,但该方法很容易会被破解,如在“JavaScript”单词中间加入空格,Tag键,或者换行等
    B.从Web应用开发的角度来避免:
    步骤1、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。
    步骤2、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
    步骤3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。
 
 
原文地址:https://www.cnblogs.com/jiangxiulian/p/5398570.html