【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)

XSS(跨站脚本)概述

Cross-Site Scripting 简称为"CSS",为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:

1.反射性XSS;

2.存储型XSS;

3.DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。

XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。

形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致"精心构造"的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。

因此在XSS漏洞的防范上,一般会采用"对输入进行过滤"和"输出进行转义"的方式进行处理:

输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;

输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

你可以通过"Cross-Site Scripting"对应的测试栏目,来进一步的了解该漏洞。

提示

a标签里面的href,img里面的src属性,有什么特殊的么


解法

随便输入一些数据,提交。出现一个 a 链接。

构造 payload:

javascript 复制代码
#"><script>alert(1);</script>

提交。点击无反应。

审查元素。

html 复制代码
<div class="page-content">

            <div id="xssr_main">
                <p class="xssr_title">请输入一个你常用的网站url地址,我就知道你是什么人</p>
                <form method="get">
                    <input class="xssr_in" type="text" name="message">

                    <input class="xssr_submit" type="submit" name="submit" value="submit">
                </form>
                <a href="#&quot;><script>alert(1);</script>"> 阁下自己输入的url还请自己点一下吧</a>            </div>

        </div>

输入:

javascript 复制代码
< > ; ' " = ( ) 

发现双引号会被转码。

html 复制代码
<a href="< > ; ' &quot; = ( ) "> 阁下自己输入的url还请自己点一下吧</a>

使用 javascript: 伪协议绕过。构造 payload:

javascript 复制代码
javascript:alert(1)

提交。

html 复制代码
<a href="javascript:alert(1)"> 阁下自己输入的url还请自己点一下吧</a>

点击链接,弹出弹窗。


声明

本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的 。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行,并且严格遵守了相关法律法规

博主坚决反对任何形式的非法黑客行为 ,包括但不限于未经授权的访问、攻击或破坏他人的计算机系统。博主强烈建议每位读者在学习网络攻防技术时,必须遵守法律法规不得用于任何非法目的 。对于因使用这些技术而导致的任何后果,博主不承担任何责任

相关推荐
禅思院2 分钟前
AI对话前端从入门到崩溃:一个长对话引发的五层优化战争【五】
前端·架构·前端框架
kyle~13 分钟前
前端---Zustand组件库(轻量快速精细化的状态管理方案)
前端
IT_陈寒15 分钟前
为什么我的React状态更新总是不按套路出牌?
前端·人工智能·后端
小二·17 分钟前
WebGPU 浏览器端跑大模型:让AI在网页里跑起来(WebLLM/Transformers.js实战)
开发语言·javascript·人工智能
qcx2322 分钟前
SpaCellAgent:用 LLM 多智能体怎么用于单细胞轨迹分析的?效率提升了多少?
人工智能·gpt·安全·ai·机器人·llm·agent
小猴子爱上树23 分钟前
Temu批量视频翻译Python实现方案
开发语言·python·音视频
心中有国也有家28 分钟前
AtomGit Flutter 鸿蒙客户端:零外部资源的应用打包策略
android·javascript·flutter·华为·harmonyos
IDIOSF35 分钟前
R语言 下载安装教程(附安装包)R语言4.5安装步骤(保姆级)
开发语言·其他·r语言
恋猫de小郭36 分钟前
Fluter 共享内存多线程正在落地,IsolateGroupBound 来了
android·前端·flutter
乱七八糟的屋子36 分钟前
LibYAML超全教程-C语言YAML解析与生成
c语言·开发语言·配置文件·yaml解析·libyaml·开源库实战