XSS攻击

作者: 小m_up | 来源:发表于2017-06-12 14:37 被阅读200次

之前一直没有注意过这种安全性问题,但是昨天实验室一个娃面试的时候被问到了这个问题,突然觉得挺感兴趣的,所以就了解了一下。

什么是XSS攻击

XSS全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的. 比如获取用户的Cookie,导航到恶意网站,携带木马等。

XSS攻击的原理

XSS主要就是通过一些正常的站内交互途径,例如发表评论,提交含有JavaScript的内容文本,这时服务器端如果没有过滤或转义掉这些脚本,作为内容发布到了页面上,其他用户访问这个页面的时候就会运行这些脚本,从而被攻击。
那么先举个栗子吧:

 <input type="text" id="userInput"/>
 <input type="button" onclick="submit()" value="提交"/>

JavaScript代码:

 function submit() {
        var input = document.getElementById("userInput").value;
        console.log(input);
 }

当我随意输入一个值时,这个程序运行正常:

那么如果我输入了document.cookie呢?我先给它加一个cookie

document.cookie = "name=haha";

这只是简单的获取cookie,如果我给里面加一些其他代码呢,后果不堪设想

XSS攻击类型

  • 反射型XSS
    主要是通过修改url的方式,因为url的参数可能在页面中用到,那我们就可以在参数中加一些恶意代码,当受害人访问这个链接的时候,这个恶意代码就执行了
  • 储蓄型XSS
    比如说有一个可以发表评论的地方,大家都可以评论,可以想到这个评论是要保存到后端的,如果这个评论有xss漏洞的话,我们发表一些恶意代码,然后恶意代码就被保存到服务器上了,当别人访问的时候,恶意代码执行,然后中招。

如何预防

1.使用XSS Filter

  • 输入过滤,对用户提交的数据进行有效性验证,仅接受指定长度范围内并符合我们期望格式的的内容提交,阻止或者忽略除此外的其他任何数据
  • 输出转义,当需要将一个字符串输出到Web网页时,同时又不确定这个字符串中是否包括XSS特殊字符,为了确保输出内容的完整性和正确性,输出HTML属性时可以使用HTML转义编码进行处理,输出到<script>中,可以进行JS编码。
    url编码解码

2.使用 HttpOnly Cookie
http-only参数,在重要的cookie参数中加入httpOnly属性,这样的话javascript就不能取到cookie值,可以解决一部分xss威胁。

相关文章

  • 第三章 XSS 攻击

    要点 XSS 攻击 XSS 防护 一、 XSS攻击 XSS攻击 (Cross-Site Scripting,跨站脚...

  • 跨站攻击脚本-XSS

    XSS: Cross Site Scripting XSS 概念 XSS 分类 反射型xss攻击图示 XSS 攻击...

  • 常见的WEB攻击

    XSS攻击,CSRF攻击,SQL注入攻击,文件上传漏洞,DDoS攻击,其他攻击手段 1.XSS攻击 XSS(Cro...

  • 前端攻击和防御(一)XSS跨站脚本攻击

    (一)XSS跨站脚本攻击 参考:XSS站脚本攻击 (1)XSS简介 XSS攻击全称跨站脚本攻击(Cross Sit...

  • Web安全

    XSS攻击 一、什么是XSS攻击 XSS攻击又称CSS,全称Cross Site Script (跨站脚本攻击)...

  • 2021-05-30 前端常见的攻击方式有哪些?如果解决?安全措

    XSS 攻击 什么是 XSS 攻击 XSS 即 Cross Site Scripting(跨站脚本攻击),指的是攻...

  • 前端防范xss攻击的实用方案

    一、xss攻击原理 大家想必都听过xss攻击,那么这个xss到底是如何攻击、我们又应该如何防范的呢? xss攻击主...

  • 开发安全问题

    1.XSS攻击 1.1什么是XSS攻击手段 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表...

  • XSS攻击

    XSS攻击定义 XSS Cross Site Scripting 跨站脚本攻击 XSS攻击原理 它允许恶意web用...

  • XSS CSRF

    XSS攻击 什么是XSS攻击 XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中...

网友评论

      本文标题:XSS攻击

      本文链接:https://www.haomeiwen.com/subject/zczqqxtx.html