【第55课】XSS防御HttpOnlyCSP靶场工具等

news2024/9/19 23:06:04

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

# 知识点
1、XSS跨站-安全防御-CSP策略
2、XSS跨站-安全防御-HttpOnly
3、XSS跨站-安全防御-XSSFilter

常用标签:xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户
https://xz.aliyun.com/t/4067

1.XSS跨站-安全防御-CSP

CSP (Content Security Policy 内容安全策略)  各种语言都存在,只不过设置不同
内容安全策略是一种可信白名单机制,来限制网站中是否可以包含某来源内容。
该制度明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单(当外部资源不在白名单内,禁止网站访问外部资源),
它的实现和执行全部由浏览器完成,开发者只需提供配置。
禁止加载外域代码,防止复杂的攻击逻辑。
禁止外域提交,网站被攻击后,用户的数据不会泄露到外域。
禁止内联脚本执行(规则较严格,目前发现 GitHub 使用)。
禁止未授权的脚本执行(新特性,Google Map 移动版在使用)。
合理使用上报可以及时发现XSS,利于尽快修复问题。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验:

开启CSP时XSS的加载情况

在这里插入图片描述
在这里插入图片描述
XSS平台也不会接收到相关cookie信息

未开启CSP时XSS的加载情况(跟常规一样,直接获取cookie)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
绕过:有但鸡肋
https://xz.aliyun.com/t/12370
Web安全2.3:CSP安全策略、Cookie、Session、同源策略、HTML DOM树_同源策略与内容安全策略的区别-CSDN博客

2. XSS跨站-安全防御-HttpOnly

禁止页面的JavaScript访问带有HttpOnly属性的Cookie。
php和java都有该设置

PHP.INI设置或代码引用,三种方式设置:
-session.cookie_httponly =1
-ini_set("session.cookie_httponly", 1);
-setcookie('', '', time() + 3600, '/xss', '', false, true);

实验:

开启HttpOnly时XSS窃取Cookie的加载情况

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

未开启HttpOnly时XSS窃取Cookie的加载情况

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
绕过:有但鸡肋
(1) CVE-2012-0053
(2) PHPINFO页面/
(3) Flash/Java
参考文章:XSS攻击之HttpOnly绕过-CSDN博客

思路:不获取Cookie采用方式(钓鱼,浏览器攻击框架等)

3. XSS跨站-安全防御-XSSFilter(过滤器的意思)

检查用户输入的数据中是否包含特殊字符, 如<、>、’、”,进行实体化等。

实验:手工分析&工具分析
Xss-Lab 标签及常见过滤绕过
环境下载:GitHub - Re13orn/xss-lab: 20 level xss lab by network!!!
常用标签:xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户
https://xz.aliyun.com/t/4067
工具下载项目:GitHub - s0md3v/XSStrike: Most advanced XSS scanner.
工具使用参考地址:xss测试工具xsstrike(基于python3)-CSDN博客

1、无任何过滤

<script>alert()</script>

在这里插入图片描述
在这里插入图片描述

2、实体化 输入框没有

">  <script>alert()</script>  <" 
  • 1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、全部实体化 利用标签事件 单引号闭合

' οnfοcus=javascript:alert() '

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、全部实体化 利用标签事件 双引号闭合

" οnfοcus=javascript:alert() "

在这里插入图片描述
在这里插入图片描述

5、事件关键字过滤 利用其他标签调用 双引号闭合

"> <a href=javascript:alert()>xxx</a> <"

在这里插入图片描述

在这里插入图片描述

6、利用大小写未正则匹配

"> <sCript>alert()</sCript> <"

在这里插入图片描述

7、利用双写绕过匹配

"> <a hrehreff=javasscriptcript:alert()>x</a> <"

在这里插入图片描述
在这里插入图片描述

8、利用Unicode编码

&#x006a&#x0061&#x0076&#x0061&#x0073&#x0063&#x0072&#x0069&#x0070&#x0074&#x003a&#x0061&#x006c&#x0065&#x0072&#x0074&#x0028&#x0029

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个编码浏览器地址是能够识别的,但是在前端代码里不一定能够识别
在这里插入图片描述
在这里插入图片描述

9、利用Unicode编码(内容检测)

&#x006a&#x0061&#x0076&#x0061&#x0073&#x0063&#x0072&#x0069&#x0070&#x0074&#x003a&#x0061&#x006c&#x0065&#x0072&#x0074&#x0028&#x0029;('http://')

在这里插入图片描述
在这里插入图片描述

10-20

xss-labs靶场实战全通关详细过程(xss靶场详解)-CSDN博客

黑盒XSS手工分析:
1、页面中显示的数据找可控的(有些隐藏的)
2、利用可控地方发送JS代码去看执行加载情况
3、成功执行即XSS,不能成功就看语句输出的地方显示(过滤)
4、根据显示分析为什么不能执行(实体化,符号括起来,关键字被删除等)实体化基本绕过不了

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

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

相关文章

Spring MVC图解

浏览器 (客户端请求) 用户通过浏览器发起HTTP请求&#xff0c;这个请求首先被Spring MVC的DispatcherServlet捕获。DispatcherServlet是前端控制器&#xff0c;用于协调整个请求处理过程。DispatcherServlet (前的端控制器) DispatcherServlet接收到请求后&#xff0c;首先会根…

推荐一款低成本 小尺寸数字脉冲编码调制(PCM)输入D类功率放大器 MAX98357AETE+T 兼具AB类性能

MAX98357AETET是数字脉冲编码调制(PCM)输入D类功率放大器&#xff0c;可提供AB类音频性能&#xff0c;同时具有D类的效率。器件在I2S/左对齐模式下通过单个增益设置输入可提供5中可选择增益(3dB、6dB、9dB、12dB、15dB)&#xff0c;在TDM模式下为固定12dB增益。 数字音频接口高…

【第57课】SSRF服务端请求Gopher伪协议无回显利用黑白盒挖掘业务功能点

免责声明 本文发布的工具和脚本&#xff0c;仅用作测试和学习研究&#xff0c;禁止用于商业用途&#xff0c;不能保证其合法性&#xff0c;准确性&#xff0c;完整性和有效性&#xff0c;请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0…

IDEA配置leetcode插件

1.安装 2.配置 类名称 $!velocityTool.camelCaseName($!velocityTool.snakeCaseName(${question.title}))_$!{question.frontendQuestionId} 默认生成的内容 // 【${question.frontendQuestionId}】 // ${question.title}, $!velocityTool.snakeCaseName(${question.title}) $…

Autojs详解

目录 一&#xff0c;AutoJs概述 二&#xff0c;环境搭建 三&#xff0c;js语法 四&#xff0c;基于控件的操作 1&#xff0c;吐司 2&#xff0c;点击 3&#xff0c;长按 4&#xff0c;设置文本 5&#xff0c;UiSelector 6&#xff0c;UiObject 7&#xff0c;控件集合的操作方法…

服务器五大关键组件拆解分析

拆解服务器五大关键组件 "AI服务器五大硬件揭秘&#xff1a;深入剖析PCB构造&#xff0c;揭示内部真实面貌。本文通过一步步拆解PCB,为读者呈现了一台服务器的内部世界&#xff0c;力求让您对服务器升级的潜在价值有更深的理解和把握。" 1、五大硬件部分可归纳为——…

VS Code 远程连接SSH服务

随着技术的不断迭代更新&#xff0c;在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器&#xff08;我曾经也是个 vimer&#xff0c;但是 VS Code 实在太香了&#xff09;&#xff0c;已经很难适应当下的开发效率。因此大多数开发者开始使用 VS Code 远程连接 Linux 系…

提交试卷+智能生成评价

文章目录 1.提交试卷1.req和vo1.InterviewSubmitReq.java2.InterviewResultVO.java 2.InterviewController.java3.service1.InterviewHistoryService.java2.InterviewHistoryServiceImpl.java3.InterviewEngine.java4.JiChiInterviewEngine.java5.EvaluateUtils.java 4.测试 2.…

【前端基础篇】CSS基础速通万字介绍(下篇)

文章目录 前言背景属性背景颜色背景图片背景平铺背景位置背景尺寸 圆角矩形生成圆形生成圆角矩形 Chrome调试工具打开方式标签页含义elements标签页使用 元素显示模式块级元素行内元素/内联元素行内元素和块级元素的区别 盒模型边框内边距外边距 块级元素水平居中去除浏览器默认…

凤凰花:绚烂花语与独特魅力

一、凤凰花的花语内涵 凤凰花的花语丰富而深刻&#xff0c;蕴含着多种情感和意义。 思念&#xff0c;是凤凰花常见的花语之一。它那鲜艳的花朵绽放在枝头&#xff0c;远眺着远方&#xff0c;仿佛在传递着对朋友和亲人深深的牵挂与想念。这种思念&#xff0c;如同苦涩的咖啡&am…

Cesium 视频纹理

Cesium 视频纹理 话不多说&#xff0c;直接上代码 <video id"video_dom"><source src"./video.mp4" type"video/mp4" /></video>var videoElement document.getElementById("video_dom");videoElement.play();vie…

数据处理新纪元:2024热门PDF转Excel工具集

当PDF文件中的数据需要被进一步分析、编辑或应用于电子表格中时&#xff0c;将其转换为Excel格式便成为了一项不可或缺的任务。本文将为你盘点几款当前最为热门的pdf转换成excel的工具&#xff0c;帮助你轻松实现数据格式的转换&#xff0c;提升工作效率。 1.福昕PDF转换大师 …

MySQL基础:事务

&#x1f48e;所属专栏&#xff1a;MySQL &#x1f48e;1. 事务 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;这些操作要么同时成功&#xff0c;要么同时失败 例如转账…

【目标检测】模型评估指标

目标检测模型评价指标&#xff1a;准确度(accuracy)、精确率&#xff08;precision)、召回率&#xff08;recall&#xff09;、交正比&#xff08;IoU&#xff09;、F1 Score等 1、目标检测模型评价指标 在 目标检测 任务中&#xff0c;常用的性能指标主要包括 检测精度指标 和…

Linux下opencv报错 undefined reference to cv::imread cv::Mat

如果你是和libtorch一起使用&#xff0c;那么请你继续&#xff0c;否则该篇文章不适合你。 正文 在https://pytorch.org/下 下载的时候要选择Cxx11 ABI版 随后正常配置就可以了

Leetcode JAVA刷刷站(79)单词搜索

一、题目概述 二、思路方向 为了解决这个问题&#xff0c;我们可以使用深度优先搜索&#xff08;DFS&#xff09;或广度优先搜索&#xff08;BFS&#xff09;来遍历网格中的字符&#xff0c;并检查是否能形成给定的单词。这里&#xff0c;我提供一个基于DFS的解决方案。 在DFS中…

拆解简单的两种固定很简陋的无刷风扇,改造自己小风扇

两种风扇功能 一种是用于电脑主机降温的&#xff0c;另一种是挂脖风扇的一个&#xff0c;拆开之后才知道固定底座很简陋 拆解降温风扇 最后分离定子和支架 个人还是不喜欢暴力拆解的&#xff0c;但尝试后发现&#xff0c;这个不暴力拆不掉&#xff0c;固定的塑料和上面定子…

python实现链表

什么是链表 链表是由一系列节点组成的元素集合。每个节点包含两部分&#xff0c;数据域item和指向下一个节点的指针next。通过节点之间的相互连接最终串联成一个链表。 python实现一个简单链表 我们可以用python实现一个超级简单的链表 class node:# 初始化数据def __init_…

Golang | Leetcode Golang题解之第367题有效的完全平方数

题目&#xff1a; 题解&#xff1a; func isPerfectSquare(num int) bool {x0 : float64(num)for {x1 : (x0 float64(num)/x0) / 2if x0-x1 < 1e-6 {x : int(x0)return x*x num}x0 x1} }

正则表达式备查

一、常用 符号内容\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如&#xff0c;“n”匹配字符“n”。“\n”匹配换行符。序列“\”匹配“\”&#xff0c;“(”匹配“(”。^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性&#xff0c;^ 还…