news 2026/9/11 7:46:14

Pikachu靶场(Cross-Site Scripting)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pikachu靶场(Cross-Site Scripting)

Cross-Site Scripting

  • 反射型xss(get)
    • 源代码修改限制
    • 地址栏
  • 反射性xss(post)
  • 存储型xss
  • DOM型xss-x
  • xss盲打
  • xss之过滤
  • xss之htmlspecialchars
  • xss之href输出
  • xss之js输出

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS,也称为HTML注入。一般XSS可以分为如下几种常见类型:
1.反射性XSS;(代码未被服务器存储,需要先通过GET/POST方式提交才会触发漏洞)
2.存储型XSS;(代码被服务器存储,直接触发漏洞)
3.DOM型XSS;(需要进行DOM树节点的增加或者元素修改)
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

所有的标签都可以使用on事件来触发<h1onmousemove="alert('word')">word</h1>img标签<imgsrc=xonerror="arert('word')"/>由于页面不存在/x路径的图片,因此会触发onerror执行代码 等......

自己博客就是用来记录的,学习的大家可以移步这个文章

反射型xss(get)

源代码修改限制



使用<img src=x onerror="arert('xss')"/>没有弹窗,但是前后不一致。

<script>alert("xss")</script>有弹窗

地址栏

或者抛弃源代码,可以在地址栏直接修改添加<script>alert("xss")<%2fscript>

反射性xss(post)

GET方式中, 攻击代码是直接暴露在URL中的
POST方式参数内容不会出现在URL中

<script>alert(document.cookie)</script>,Document.cookie 获取并设置与当前文档相关联的 cookie

存储型xss

留言板将我们输入的内容写到网页中, 并且存储到网站的数据库, 当利用xss漏洞时, 那么受到的攻击将是持久化的,我们再次访问也是可以看到的<script>alert("xss")</script>

分割线-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最近事情比较多断更了有一个月左右了,可能本文前后衔接会纯在问题特此告知!!!

DOM型xss-x



对比发现href的值是空,οnclick闭合掉了a标签,alert(xss)被执行。

'onclick="alert(xss)"> //可以成功但是好像不太明显

仔细看其实注释里面都有答案

我试着是有一点点问题的

xss盲打

其实是一种攻击场景,只有后台会看到前端输入的内容。从前端无法判断是否存在XSS。


登入后台可发现

xss之过滤


字符被过滤
通过大小写过滤试试

<SCRIPt>alert(6)</ScrIpt>

不能用<SCRIPt>alert(xss)</ScrIpt>,xss也被过滤了

xss之htmlspecialchars

htmlspecialchars()函数把预定义的字符转换为 HTML 实体

第一个单引号闭合href属性的双引号,再次尝试

没有对 ’ 进行实体转码,使用单引号构造

@' onclick='alert(6)'

xss之href输出


单引号没有用…

javascript:alert(6)

xss之js输出

把原本的<script>闭合掉,再插入<script>

</script><script>alert(6)</script>

本文内容仅为个人经验分享,仅供参考,不构成专业建议。本人不对内容准确性做保证,读者据此操作产生的风险自行承担。文中第三方素材版权归原作者,如有侵权请联系删除。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 7:43:10

转:为什么下属总不听你的?试试用教练思维激活员工自驱力

个人理解&#xff1a; 克服障碍和阻碍&#xff0c;激发自己的潜能 必须是支持&#xff0c;而不是威胁 同理心、正直和平衡 伙伴关系与相互合作 自我觉察和责任感 为什么下属总不听你的&#xff1f;试试用教练思维激活员工自驱力 为什么下属总不听你的&#xff1f;试试用教练思…

作者头像 李华
网站建设 2026/9/10 1:41:23

在 ATE 无锁(Lock-Free)架构中,“写指令(Set Voltage/Set Pin)”与“读指令(Measure Current/Read ADC)”存在本质差异

在 ATE 无锁(Lock-Free)架构中,“写指令(Set Voltage/Set Pin)”与“读指令(Measure Current/Read ADC)”存在本质差异: 写指令: 是单向的(Fire-and-Forget),投递到无锁队列后生产者(Site 线程)无需等待返回值,可直接向下执行。 读指令: 具有数据依赖性,Site …

作者头像 李华
网站建设 2026/8/30 11:18:12

HarmonyOS 基于eTS高效开发HarmonyOS课程类应用

随着HarmonyOS 3.0 Beta版的发布&#xff0c;API Version 8新增了大批JS/eTS API接口&#xff0c;相信很多开发者已经迫不及待想体验基于eTS的HamronyOS应用开发。本期Codelab&#xff0c;我们将基于API Version 8实现一个HarmonyOS课程类应用&#xff0c;帮助大家学习eTS的声明…

作者头像 李华
网站建设 2026/8/30 10:40:50

第266篇 ROS2 Navigation2框架概览——模块化导航的标配方案

SLAM面试高频题聊完了&#xff0c;定位和建图的问题算是有了一个基本的认识。但机器人光知道自己在哪还不够&#xff0c;它还得能从A点走到B点。这就轮到导航框架登场了。 ROS生态里做导航&#xff0c;十年前只有一个move_base。现在到了ROS2时代&#xff0c;Navigation2&…

作者头像 李华
网站建设 2026/8/29 15:21:02

加密原理详解:对称式加密VS非对称式加密

一、前言 在了解加密原理前&#xff0c;我们来看看这样一个故事。 小红和小明是情侣&#xff0c;一天&#xff0c;小红给小明发短信说&#xff1a;“亲爱的&#xff0c;我银行卡上没有钱了&#xff0c;你给我转1万块吧。”有过上当受骗经历的人都知道这有可能是小偷偷了小红手…

作者头像 李华