下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

谈谈什么是XSS攻击

作者:课课家教育     来源: http://www.kokojia.com点击数:1254发布时间: 2018-01-01 16:00:14

标签: webhtmlJavaScript

  什么是XSS攻击?可能很多朋友对于XSS 攻击一头雾水,从未操作过,也不知道会给客户端带来什么不便之处,有什么危害?那么下面文章就和大家一起来对XSS做个了解吧!

谈谈什么是XSS攻击_web_html_JavaScript_课课家教育
  什么是XSS攻击?
  XSS又叫css(Cross Site Script)跨脚本攻击,是web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击,所以容易被忽略其危害性。其原理是恶意攻击者往web页面插入恶意html代码,当用户浏览该网站时,这段html代码会自动执行,从而达到恶意用户的特殊目的。如,盗取用户cookie、破坏页面结构、重定向到其他网站等。
  XSS有什么危害?
  当我们知道什么是XSS后,也一定很想知道它到底有什么用,或者是有什么吧危害,下面罗列了XSS有关危害
  1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
  2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  3、盗窃企业重要的具有商业价值的资料
  4、非法转账
  5、强制发送电子邮件
  6、网站挂马
  7、控制受害者机器向其它网站发起攻击
  如何寻找XSS漏洞
  XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS攻击分成两类,一类是来着内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,另一类则是来自外部的攻击,主要指的是自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力,攻击代码也不局限于script。
  XSS攻击方式
  外部攻击:
  传统的跨站利用方式一般都是攻击者先构造一个跨站网页,然后在另一个空间里放一个收集cookie的页面,接着结合其他技术让用户打开跨站页面以盗取用户的cookie,以便进一步的攻击。目前该方式已经毕竟落后,所以对于这种问题一般大家都知道,一旦你收集到了Cookie也未必就可以渗透进入,因为在Cookie传输中的密码一般都是经过加密的。另外一般多数的外部攻击方式都是通过上传shell脚本来实施的,所以对于上传功能的安全性测试是需要非常谨慎的。
  内部攻击
  通常情况下是看代码里对用户输入的地方和变量有没有做长度和对”〈”,”〉”,”;”,”’”等字符是否做过滤。还有要注意的是对于标签的闭合,像测试QQ群跨站漏洞的时候,你在标题处输入〈script〉alert(‘test’)〈/script〉,代码是不会被执行的,因为在源代码里,有其它的标签未闭合,如少了一个〈/script〉,这个时候,你只要闭合一个〈/script〉,代码就会执行,如:你在标题处输入〈/script〉〈script〉alert(‘test’)〈/script〉,这样就可以弹出一个test的框。
  如何防范XSS攻击?
  1. 防堵跨站漏洞,阻止攻击者利用在被攻击网站上发布跨站攻击语句不可以信任用户提交的任何内容,首先代码里对用户输入的地方和变量都需要仔细检查长度和对”<”,”>”,”;”,”’”等字符做过滤;其次任何内容写到页面之前都必须加以encode,避免不小心把html tag 弄出来。这一个层面做好,至少可以堵住超过一半的XSS 攻击。
  2. Cookie 防盗
  首先,避免直接在cookie 中泄露用户隐私,例如email、密码等等。
  其次,通过使cookie 和系统ip 绑定来降低cookie 泄露后的危险。这样攻击者得到的cookie 没有实际价值,不可能拿来重放。
  3. 尽量采用POST 而非GET 提交表单
  POST 操作不可能绕开javascript 的使用,这会给攻击者增加难度,减少可利用的跨站漏洞。
  4. 严格检查refer
  检查http refer 是否来自预料中的url。这可以阻止第2 类攻击手法发起的http 请求,也能防止大部分第1 类攻击手法,除非正好在特权操作的引用页上种了跨站访问。
  5. 将单步流程改为多步,在多步流程中引入效验码
  多步流程中每一步都产生一个验证码作为hidden 表单元素嵌在中间页面,下一步操
  作时这个验证码被提交到服务器,服务器检查这个验证码是否匹配。首先这为第1 类攻击者大大增加了麻烦。其次攻击者必须在多步流程中拿到上一步产生的效验码才有可能发起下一步请求,这在第2 类攻击中是几乎无法做到的。
  6. 引入用户交互简单的一个看图识数可以堵住几乎所有的非预期特权操作。
  7. 只在允许anonymous 访问的地方使用动态的javascript。
  8. 对于用户提交信息的中的img 等link,检查是否有重定向回本站、不是真的图片等可疑操作。
  9. 内部管理网站的问题很多时候,内部管理网站往往疏于关注安全问题,只是简单的限制访问来源。这种网站往往对XSS 攻击毫无抵抗力,需要多加注意。
  安全问题需要长期的关注,XSS攻击相对其他攻击手段个更加隐蔽和多变。如果您对XSS攻击或防御有任何的见解或疑问的话,欢迎留言讨论,谢谢!

赞(12)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程