xss跨站之waf绕过及安全修复(28)

2023-11-03

手工探针xss绕过waf规则

打开靶场 

写入跨站测试语句发现拦截

 这里就做一个最经典的方法,做一个关键字拆分来确立拦截的是什么东西。

去掉最后字符串,访问还是拦截,再去掉alert(1),访问还是拦截,再去掉尖括号里面一个字符。留下scrtp在访问一下,还是拦截了,拿再去掉后门的一个尖括号,留下前面的那个访问一下

 正常了,通过这个测试可以分析出,他的拦截应该在两个尖括号里面的,我们试一下只写两个尖括号,不拦截,在尖括号里面加一个s,他拦截了

 然后换成a,他又不拦截了,所以他检测尖括号里面的内容,它是针对的跨站语句的关键字符,比如script,s拦截。

我们去xss跨站平台,复制一串代码

 然后直接复制到网站来执行跨站攻击,明显被拦截了

 这是我们用关键字拆分,去掉最后一个字符串访问,被拦截了,再去掉一个尖括号就正常访问了,查看元素,我们查看一下他发送数据包的情况

 这种时候他想把我们需要获取的数据发送到xss跨站平台,但是这里请求网址的时候被拼接了其他符号干扰了,因为没有尖括号,我们可以把尖括号去掉,换成’,单引号括起来,访问一下试试

正常访问了。

还有其他方法,选择这种下加上尖括号,但在后门尖括号里面加一些乱七八糟的字符干扰#。然后访问还是正常的,这个就是特殊符号干扰方法,常见的就是#,因为#在web里面是注释的,他是通用的,特符都可以用来干扰,有一些符号就是截断或者注释的做用,代码去匹配一些关键字的时候,防止他匹配的后面或者前面的关键字,来绕过。

标签语法替换,

因为xss,他的执行效果可以由多个代码实现,就是用到其他的函数,功能来替换,在跨站中想实现那种功能,也是可以应用到不同的操作语句去实现同一个目的,比如下面这串代码,取得的功能是一样的,

不过为什么要把斜杠加到a /href这里,因为他检测的尖括号,然后网址是可以随意更改的,不会检查,a在尖括号外面,只有a href在尖括号里面可能被检测到,所以在哪里加一个/,加/的原因,js代码或者htm代码通常分别都会以</script> 和</html>结束,他会误认为已经结束了。所以绕过了

不过这个代码需要点击一下超链接,就会加载新的地址信息,但是目的都完成了。

 在这种前端代码语言能起到一个结束说明的做用。这是根据语言特性和漏洞情况来决定的。

注入里面/就没有任何卵用。

还要别的语句也可以执行出来同一个效果,这种思路就是 标签语法替换 以不同的语法执行同一个目的。

还有一种,

xss  fuzzer

http://xssfuzzer.com/fuzzer.html

 这个网站是干嘛用的,专门用来xss做fuzzer的网站。

因为js代码学艺不精,所以只能默认的,要是学的好就可以自定义。

  提交方式更改

先更改一下源码的接受方式,从get改为了接受任何方式,就是现在代码。

get提交方式的代码,肯定会被拦截的,换成post提交方式 

换了提交方式之后,直接换post提交方式,秒杀靶场。

 

这个原因接受更换提交方式,因为安全狗检测的时候检测的url,没用检测到post提交方式,如果安全狗选项选择了也检测post这个时候,post提交方式就不行了。如果全部方式都检测,就不用想这个了。需要满足不拦截的前提条件。

垃圾数据溢出

这个就和之前文件上传演示的一样,这里他不是检测尖括号吗,那就可以在最后一个尖括号前面加一大堆垃圾数据,直到安全狗不检测直接放行。

加密解密算法

下图这个就是对跨站语句进行个编码,放到网站里面也可以正常执行出来,这个是对数字编码了

 必须要用这个网站可以识别的加密编码方式。

自动化xss绕过waf测试演示

xsstrike工具

他第一个特点,可以自带绕过waf,第二个特点还有fuzzer的引擎,找到漏洞,用这个功能基本上都能实现,

参数说明

-h, --help          //显示帮助信息

-u, --url             //指定目标URL

--data               //POST方式提交内容

-v, --verbose     //详细输出

-f, --file             //加载自定义paload字典

-t, --threads      //定义线程数

-l, --level           //爬行深度

-t, --encode      //定义payload编码方式

--json               //将POST数据视为JSON

--path               //测试URL路径组件

--seeds            //从文件中测试、抓取URL

--fuzzer            //测试过滤器和Web应用程序防火墙。

--update           //更新

--timeout          //设置超时时间

--params          //指定参数

--crawl              //爬行

--proxy             //使用代理

--blind              //盲测试

--skip               //跳过确认提示

--skip-dom       //跳过DOM扫描

--headers         //提供HTTP标头

-d, --delay        //设置延迟 作者:shtome https://www.bilibili.com/read/cv13030088/ 出处:bilibili

 下载好之后打开

之后在python3里面点运行,就会出现那个要负责的东西,复制下来

 粘贴到命令提示符去,运行起来

 任何就可以使用它来,

 waf status是waf的状态,这里显示的是离线,

测试结果,那个fiftered  <test> ,是跨站语句<test>被拦截,我们去靶场测试一下看看是不是

 拦截了,绿色的就是不拦截的跨站语句。

他可以实时的帮你去探针,这个语句代码有没有触发waf拦截。

那些没有被拦截的代码就可以带到网站上来使用。

不加--fuzzer

就会直接按照自己的程序去帮你测试这个网站,跨站成功的payload的都会显示出来 

有3072个payload的去探针,

 这个就会出现弹窗,触发事件是移动鼠标。那个括号里面是可以控制的探出什么,输入1弹窗的内容就变成了1。

 这就是这个工具的简单属性,就是用的python3环境。

#fuzz下xss绕过waf演示

准备xss的跨站语句字典

 用工具去帮助发包,用burp看一下效果

 

 

 

 

这就是开始攻击了,通过他的返回长度,来确定对方是否拦截。 比如下面两个回执长度2045,应该是安全狗拦截了,长度700+的就是正常的发送过去了,复制一个正常发送过去的跨站语句来到网站测试

然后这时候发现,访问太多次,安全狗启动了流量保护,哈哈哈

关一下安全狗的流量保护

 成功了。

这是fuzz字典批量跑出来的结果,我不知道原因,但我跑出来了直接用。找好字典!但是会怕被安全狗封掉ip,一种思路是开代理,更好的方法自己搭建一个环境,在自己本地测试,然后测试好啦,再去网站上搞。

然后有一些网站需要自定义一下,需要做一些小的修改,比如靶场第二关,有符号干扰需要闭合一下,才能正常执行语句,就在网站的时候在闭合一下跨站语句就好了。

#关于xss跨站漏洞的安全修复建议

装waf

开启 httponly,

输入过滤,接受代码的时候过滤

输出过滤等 输出的代码的时候过滤

最好的方法就是两重过滤

PHP:http://www.zuimoge.com/212.html

JAVA:https://www.cnblogs.com/baixiansheng/p/9001522.html 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xss跨站之waf绕过及安全修复(28) 的相关文章

  • addslashes() 可以安全地防止 HTML 属性中的 XSS 吗?

    我不得不开发一个以前的开发人员留下的旧网络应用程序 它使用addslashes 来防止HTML属性上的XSS 这是一个例子 这是否容易受到 XSS 攻击 有没有什么方法可以让 javascript 在 value 属性中运行 就像在 src
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • 【方法】如何把Excel“只读方式”变成可直接编辑?

    Excel在 只读方式 下 编辑后是无法直接保存原文件的 那如何可以直接编辑原文件呢 下面来一起看看看吧 如果Excel设置的是无密码的 只读方式 那在打开Excel后 会出现对话框 提示 是否以只读方式打开 如果想直接编辑文件 选择 否
  • 【安全】使用docker安装Nessus

    目录 一 准备docker环境服务器 略 二 安装 2 1 搜索镜像 2 2 拉取镜像 2 3 启动镜像 三 离线更新插件 3 1 获取challenge 3 2 官方注册获取激活码 3 3 使用challenge码和激活码获取插件下载地址
  • 获取年与年之间的所有年份

    function getYearsBetween startYear endYear var years 存放结果的数组 for var year startYear year lt endYear year years push year
  • 在没有脚本标签的情况下执行 XSS JavaScript

    我正在学习 XSS 出于道德目的 我想知道如何在不使用
  • JavaScript - 跨站脚本 - 权限被拒绝

    我有一个 Web 应用程序 我正在尝试使用 Twitter 的 OAuth 功能 该应用程序有一个链接 提示用户输入 Twitter 凭据 当用户单击此链接时 将通过 JavaScript 打开一个新窗口 该窗口用作对话框 这是这样完成的
  • 清理 URL 以防止 Rails 中的 XSS

    在 Rails 应用程序中 用户可以创建事件并发布 URL 以链接到外部事件站点 如何清理网址以防止 XSS 链接 提前致谢 XSS 示例 rails 的清理方法无法预防该问题 url javascript alert XSS a href
  • ASP.Net Core 中的 AntiXSS

    Microsoft Web 保护库 AntiXSS https wpl codeplex com 已达到使用寿命 该页面指出 在 NET 4 0 中 框架中包含了一个 AntiXSS 版本 可以通过配置启用 在 ASP NET v5 中 基
  • 使用 Python 清理用户输入

    针对基于 Python 的 Web 应用程序清理用户输入的最佳方法是什么 是否有一个函数可以删除 HTML 字符和任何其他必要的字符组合以防止XSS http en wikipedia org wiki Cross site scripti
  • 使用 CSP + localStorage 保护单页应用程序免受 CSRF 和 XSS 的影响

    我有一个单页应用程序 包含敏感内容 并且需要保护 这个问题专门针对 XSS 和 CSRF 攻击 解释 很多地方都提出了建议 例如here http michael coates blogspot ca 2010 07 html5 local
  • 如何从 iframe 读取父页面的页面标题?

    我有一个页面调用另一个页面 在另一台服务器上 我希望该页面从父页面读取标题 这可能吗 或者这是否存在一些安全问题 您无法像这样跨服务器进行通信
  • 在 Safari/WebView 中禁用 XSS 过滤器

    我正在开发一个用于 XSS 检查的工具 使用 Webkit WebView 和 Macruby 这非常有效 只是 Safari 的 XSS 过滤器偶尔会捕获我的 URL 并拒绝执行恶意脚本 有没有办法禁用此功能 最好以编程方式禁用 经过一番
  • 将用户输入显示为输入值而不进行清理是否安全?

    假设我们有一个表单 用户可以在其中输入各种信息 我们验证了信息 发现有些问题 字段丢失 电子邮件无效等等 当再次向用户显示表单时 我当然不希望他必须再次输入所有内容 因此我想填充输入字段 如果不进行消毒 这样做安全吗 如果没有 首先应该进行
  • 为什么 XSS 注入需要对 & 进行转义

    OWASP 建议转义以防止 XSS 注入的五个字符是 lt gt 其中 我无法理解为什么 符号 应该被转义以及如何将其用作注入脚本的向量 有人可以举个例子 所有其他四个字符都被转义 但与号没有转义 所以会有 XSS 注入漏洞 我已经检查了另
  • https 安全 cookie 是否可以防止 XSS 攻击?

    https 连接是否可以保护 cookie 并防止 XSS 攻击 我有一个简单的博客 允许用户输入 JavaScript 代码作为输入 我希望允许用户输入 Javascript 同时仍然防止 XSS 攻击和 cookie 窃取 https
  • 如何安全地使用 fckEditor,而不存在跨站脚本风险?

    此链接描述了使用 fckEditor 对我的应用程序的利用 http knitinr blogspot com 2008 07 script exploit via fckeditor html http knitinr blogspot
  • 使用 CSP 防止自动点击链接 XSS 攻击

    当将 CSP 用于稍微不同的目的 沙箱 时 我意识到一个非常简单的自动点击链接似乎甚至可以绕过相对严格的 CSP 我所描述的内容如下 内容安全政策 default src none script src unsafe inline 还有身体

随机推荐

  • 虚幻官方项目《CropOut》技术解析 之 程序化岛屿生成器(IslandGenerator)

    开个新坑详细分析一下虚幻官方发布的 CropOut 文章会同步发布到我在知乎 CSDN的专栏里 文章目录 概要 Create Island 几何体生成部分 随机种子 Step 1 Step 2 Step 3 Step 4 Step 5 St
  • Python—爬虫之BeautifulSoup模块(解析—提取数据)

    Python 爬虫之BeautifulSoup模块 解析 提取数据 安装BeautifulSoup模块 解析数据 提取数据 find 提取出满足条件的第一个数据 find all 提取出满足条件所有数据 Tag 对象的属性和方法 安装Bea
  • .NET混淆器 Dotfuscator保护机制——重命名

    Dotfuscator是一个 NET的Obfuscator 它提供企业级的应用程序保护 大大降低了盗版 知识产权盗窃和篡改的风险 Dotfuscator的分层混淆 加密 水印 自动失效 防调试 防篡改 报警和防御技术 为世界各地成千上万的应
  • Streamlit 讲解专栏(十二):数据可视化-图表绘制详解(下)

    文章目录 1 前言 2 使用st vega lite chart绘制Vega Lite图表 2 1 示例1 绘制散点图 2 2 示例2 自定义主题样式 3 使用st plotly chart函数创建Plotly图表 3 1 st plotl
  • WebSocket(一) -- 原理详解

    1 什么是websocket WebSocket是HTML5下一种新的协议 websocket协议本质上是一个基于tcp的协议 它实现了浏览器与服务器全双工通信 能更好的节省服务器资源和带宽并达到实时通讯的目的 Websocket是一个持久
  • 利用MMSegmentation微调Mask2Former模型

    前言 本文介绍了专用于语义分隔模型的python库mmsegmentation github项目地址 运行环境为Kaggle notebook GPU为P100 针对环境配置 预训练模型推理 在西瓜数据集上微调新sota模型mask2for
  • ubuntu下安装apache2.2+mod_wsgi+django(二)

    http blog csdn net huangxiansheng1980 article details 7207075 在上一篇博文 ubuntu下安装apache2 2 mod wsgi django 一 中已经建立了一个apache
  • 2.5 学费计算(project)

    第1关 学费计算 任务描述 本关任务 编写一个学费计算的小程序 相关知识 问题描述 大学第一学期必选课程及其学分如下 Python 高等数学 大学英语 大学体育 军事理论 哲学 3学分 4学分 4学分 2学分 2学分 2学分 表1 课程学分
  • 静态代码扫描工具 Sonar 配置及使用

    概览 Sonar 是一个用于代码质量管理的开放平台 通过插件机制 Sonar 可以集成不同的测试工具 代码分析工具 以及持续集成工具 与持续集成工具 例如 Hudson Jenkins 等 不同 Sonar 并不是简单地把不同的代码检查工具
  • 解决:虚拟机重启后docker容器无法访问

    1 情况 vm宿主机无法访问容器 虚拟机curl localhost也无法访问 虚拟机centOS8 docker版本 Version 20 10 21 2 尝试 网上搜了一堆解决办法 首先排除端口映射问题 端口映射正常 然后检查内核版本和
  • HOOK startActivity

    往期推荐 HOOK框架 动态代理 HOOK框架 静态代理 实战案列分析 Crakeme01 实战 AliCrackme 需要相关资料的朋友 可以 加入此处即可打包获取 Hook的英文含义是钩子 你可以理解为用钩子把要Hook的对象勾过来 然
  • Error:(31, 39) java: 不兼容的类型: java.lang.String无法转换为int 的处理

    异常说明 使用增强for输出元素的时候 在元素名前面加了数组名称 发生原因 未严格按照增强for的语法写代码 改正方式 按each for的语法 不要在输出元素前面加数组名 改正前 改正后 转载于 https www cnblogs com
  • State:状态模式

    某个对象有一个标准接口 同时 该对象可能处于各种状态下 当该对象处于不同状态下时 客户调用标准接口 该对象会产生不同的响应 即允许一个对象在其内部状态改变时改变它的行为 使对象看起来似乎修改了它的类 这就是状态模式 例如 电灯开关这个对象提
  • Flutter

    在 decoration 里面设置 image 即可 Container width 100 height 100 alignment Alignment center child Text 有背景图 decoration BoxDecor
  • Python玩转微信 个性签名生成词云图

    本博客代码参照http www cnblogs com jiaoyu121 p 6944398 html 运行如下代码之前 将下图的wechat jpg放入F盘下 需安装itchat jieba matplotlib numpy和wordc
  • 03 什么是预训练(Transformer 前奏)

    博客配套视频链接 https space bilibili com 383551518 spm id from 333 1007 0 0 b 站直接看 配套 github 链接 https github com nickchen121 Pr
  • Fsm ps2

    The PS 2 mouse protocol sends messages that are three bytes long However within a continuous byte stream it s not obviou
  • SpringBoot整合MyBatis-Plus各种使用点超级详细

    简介 MyBatis Plus是一个Mybatis增强版工具 在MyBatis上扩充了其它功能没有改变基本功能 也就是只做封装增强不做改变 为了简化开发提交效率而存在 不需要写XML等sql语句就可实现 官方文档 https mp baom
  • Python全栈开发【基础-09】深浅拷贝+while循环

    专栏介绍 本专栏为Python全栈开发系列文章 技术包括Python基础 函数 文件 面向对象 网络编程 并发编程 MySQL数据库 HTML JavaScript CSS JQuery bootstrap WSGI Django Flas
  • xss跨站之waf绕过及安全修复(28)

    手工探针xss绕过waf规则 打开靶场 写入跨站测试语句发现拦截 这里就做一个最经典的方法 做一个关键字拆分来确立拦截的是什么东西 去掉最后字符串 访问还是拦截 再去掉alert 1 访问还是拦截 再去掉尖括号里面一个字符 留下scrtp在