xss靶场详解

news2024/12/26 9:19:14

目录

1.第一题

2.第二题

3.第三题

4.第四题

5.第五题

6.第六题

7.第七题

8.第八题


1.第一题

在源码script标签里边,innerhtml是用于访问或修改 HTML 元素内的 HTML 内容的,这里是访问spaghet这个元素的,并通过括号里面的东西搜索当前页面有没有somebody这个参数,有的话使用get传参的方式给somebody传一个值,然后+Toucha Ma Spaghet!,如果没有传值,默认传Somebody+Toucha Ma Spaghet!,然后赋值给spaghet,放在h2标签中,显示出来。

因为他利用innerHTML直接更新somebody参数,所以我们可以利用

?somebody=<svg%20οnlοad=alert(1337)>在svg加载完成以后执行我们的xss代码

2.第二题

在这里面我们get传入jeff的值给jeff,然后ma是空,eval执行ma=ma name 传的值,然后settimeout延时1秒把ma赋值给manme.

        因为这次使用的是innertext,他会把我们的标签整个识别成一个字符串输出就不能用一开始的

我们可以把eval进行闭合

?jeff=aaa";alert(1337);"

带入就会是这样,前后引号都闭合了,eval就执行alert

`ma = "Ma name aaa";alert(1337);"" `

3.第三题

 replace是用来移除wey 中的所有 < 和 > 字符。

  • /[<>]/g 是一个正则表达式,匹配 < 或 > 字符。
  • g 是一个全局标志,表示将会在整个字符串中查找所有匹配的字符,而不仅仅是找到第一个匹配后就停止。

这里因为过滤了<>,我们不能用先前的方式了,所以我们使用onclick进行聚焦,只要用户点击输入框就会触发

同样的还有onfocus也是需要用户进行点击

        为了不让用户交互也可以完成,我们可以用autofocus和onfocus一起,autofocus把焦点放在输入框上,onfocus把焦点事件进行触发,单独使用autofocus不会触发焦点事件,并且autofocus不包含代码。

        所以要用?wey=aaa"%20οnfοcus="alert(1)"%20autofocus="

4.第四题

因为这里面有用action进行提交,并且没有过滤,在提交的时候可以触发我们传入的xss代码,同样在<a>标签里面我们也可以把href写入<a href="javascript:alert('Hello!')">,这样用户点击链接就会触发

?ricardo=Javascript:alert(1337)

5.第五题

因为括号等东西被过滤了,我们就要考虑绕过,尝试用编码绕过

把(1337)先用html实体编码再用url进行编码

成功绕过

?markassbrownlee=<svg%20οnlοad="alert%26%23x0028%3B%26%23x0031%3B%26%23x0033%3B%26%23x0033%3B%26%23x0037%3B%26%23x0029%3B">

6.第六题

这里过滤掉了字母数字,我们就只能借助一些别的工具和别的编码

https://jsfuck.com/

这个网站会把我们的输入编码为[] ! +组合

但是+好会被解析为空格,所以还要进行url编码

7.第七题

这里可以直接用

?mafia=confirm(1337)

但是真正的考点不是这个

我们可以通过

Function(/ALERT(1337)/.source.toLowerCase())()

绕过

    /ALERT(1337)/ 是一个正则表达式,用于匹配字符串 "ALERT(1337)"

    .source 属性返回正则表达式的源码部分,不包括前后的斜杠,即 "ALERT(1337)"

    toLowerCase() 方法将字符串中的所有字母转换为小写。

因此,/ALERT(1337)/.source.toLowerCase() 返回  alert(1337)

Function 是一个构造函数,用于动态创建一个新的函数。

Function("alert(1337)") 会创建一个函数

最后,() 用于立即调用刚刚创建的函数。

8.第八题

这里面有DOMPurify框架,很难绕过

但是setTimeout函数内的ok参数没有任何ok定义,所以我们可以使用DOM破坏

  

由于前端的一些特性,当boomer=<a id=ok href=tel:alert(1337)>时,settimeout(ok,2000)会获取到<a>标签的href内容,并执行,所以我们可以利用这个来进行绕过,但是如果是JavaScript:alert(1)的话,会被DOMPurify框架进行过滤,我们可以在他的文件找到白名单,然后利用白名单执行我们的alert(1337)

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

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

相关文章

【问题解决3】【已解决】Cannot determine path to‘tools.jar‘libraryfor17

前几天在IDEA运行JAVA项目时&#xff0c;出现这个报错。 这是因为是这个笔记本上安装的IDEA版本是“IntelliJ IDEA 2020.3.1”&#xff0c;与JDK17版本不兼容&#xff0c;这种情况下要想使得IDEA版本与JDK版本兼容&#xff0c;就需要升级IDEA版本或者使用JDK较低版本&#xff…

专题---自底向上的计算机网络(计算机网络相关概述)

目录 计算机网络相关概述 物理层 数据链路层 网络层 运输层 应用层 网络安全 1.计算机网络相关概述&#xff08;具体细节http://t.csdnimg.cn/NITAW&#xff09; 什么是计算机网络&#xff1f; 计算机网络是将一个分散的&#xff0c;具有独立功能的计算机系统&#x…

FusionSphere虚拟机网络不通

虚拟机侧 1、通过控制台Console或者VNC登录虚拟机。 获取VNC的token链接&#xff0c;因为token有超时失效&#xff0c;该链接获取后长时间不用要重新获取。 # nova get-vnc-console vmid novnc 2、登录VNC控制台之后&#xff0c;检查网卡和IP地址是否up, ARP学习是否正常…

Postman 问题汇总

1 postman Error: SSL Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE 根因 SSL校验失败&#xff0c;可以在postman设置中关闭ssl校验&#xff0c;自测对ssl无要求。 解决方法 在postman设置中关闭ssl校验&#xff1a;

树莓派智能语音助手之聊天机器人-RASA

我的树莓派目前已经会“说”&#xff08;《树莓派智能语音助手之TTS - pyttsx3 espeak》&#xff09;&#xff0c;也能“听”&#xff08;《树莓派智能语音助手之ASR2 – sherpa-ncnn》&#xff09;了。接下来&#xff0c;就要让它能够和我们对话起来&#xff0c;即会“聊天”…

python 获取pdf文件中的超链接

pip install pymupdf pip install fitzimport fitz # PyMuPDFdef get_pdf_links(pdf_path):# 打开PDF文件document fitz.open(pdf_path)links []for page_num in range(len(document)):page document[page_num]# 获取当前页面的链接for link in page.get_links():links.app…

Mac升级系统文件都丢了怎么办?Mac更新后资料找不到了怎么恢复

Mac电脑由于其卓越的性能&#xff0c;受到了众多电脑用户的青睐。为了让用户获得更好的使用体验&#xff0c;Mac系统会定期推出新版本&#xff0c;来弥补前一个版本的不足。然而有用户反馈&#xff0c;Mac升级后&#xff0c;电脑里的部分资料消失了。mac升级会丢失文件吗?mac升…

iOS ColleCtionView 如何让cell 不重复创建并且只在展示的时候才创建

前言 使用 collectionView 一屏只展示一个 cell &#xff0c;一次只加载当前 cell&#xff0c;还要能够缓存已加载过的 cell &#xff0c;使 cell 不重复加载&#xff0c;听着好像就是将 collectionView 的复用机制禁用掉。用collectionView 实现这个需求&#xff0c;就出现了…

【GD32】从零开始学GD32单片机 | PMU电源管理单元+深度睡眠和待机例程(GD32F470ZGT6)

1. 简介 PMU电源管理单元通俗讲就是用来管理MCU的电源域的&#xff0c;它主要有两个功能——电压监测和低功耗管理。在GD32中一共有3个电源域——VDD/VDDA域、1.2V域和备份域。 VDD/VDDA域主要供PMU控制器、ADC、DAC等外设使用&#xff1b;1.2V域就是大部分外设都会使用的电源域…

ai大模型之争-生成音乐-豆包

豆包网页版&#xff1a;豆包 可以生成自定义音乐了 1&#xff0c;打开网页&#xff0c;登录 2&#xff0c;选择音乐生成 3&#xff0c;进行音乐配置 3.1&#xff0c;可以选择&#xff1a; 1&#xff0c;自己写歌词或者ai创造歌词&#xff1b; 2&#xff0c;可以选输入歌词…

xss漏洞复现

目录 第一关 第二关 第三关 第四关 第五关 第一关 要求&#xff1a; Pop an alert(1337) on sandbox.pwnfunction.com. No user interaction. 代码&#xff1a; <!-- Challenge --> <h2 id"spaghet"></h2> <script> spaghet.inn…

【数据结构与算法 | 图篇】Floyd-Warshall算法(多源最短路径算法)

1. 前言 Floyd-Warshall算法是一种在有向图或无向图中寻找所有顶点对之间的最短路径的动态规划算法。该算法可以处理带权重的边&#xff0c;并且能够正确处理负权重的边&#xff08;但不包括负权重循环&#xff09;&#xff0c;不过它不能处理包含负权重循环的情况&#xff0c…

IDEA 设置SVN项目管理忽略文件

忽略已经控制的文件 打开本地已经克隆下来的项目&#xff0c;并找到需要忽略控制的文件或文件夹 操作完成之后需要将当前的操作更新到SVN服务器。 直接在IDEA中提交修改&#xff08;快捷键CTRL K&#xff09;就可以 unverison: 取消版本控制 add to ignore list&#xff1…

C语言之文件操作上卷(二十一)(逆行人生-2024)

&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3;&#x1f4e3; ✏️作者主页&#xff1a;枫霜剑客 &#x1f4cb; 系列专栏&#xff1a;C语言知识学习归纳总结&#xff08;逐梦篇专栏合集&#xff09; &#x1f332;上一篇: C语…

17 Menubutton 组件

17 Menubutton 组件 Tkinter 的 Menubutton 组件是一个特殊的按钮&#xff0c;当点击时会弹出一个菜单。这个菜单可以包含多个菜单项&#xff0c;允许用户从菜单中选择一个选项。Menubutton 通常用于创建带有下拉菜单的界面。以下是对 Menubutton 组件的详细说明和一个使用案例…

力控机器人torque-controlled robots

力控机器人&#xff08;Torque-Controlled Robots&#xff09;&#xff0c;也称为力矩控制机器人&#xff0c;是一种能够感知并实时控制施加在物体上力量的机器人系统。这类机器人通过集成力传感技术&#xff08;Force Sensing Technology&#xff09;和控制算法&#xff08;Co…

C++ | Leetcode C++题解之第343题整数拆分

题目&#xff1a; 题解&#xff1a; class Solution { public:int integerBreak(int n) {if (n < 3) {return n - 1;}int quotient n / 3;int remainder n % 3;if (remainder 0) {return (int)pow(3, quotient);} else if (remainder 1) {return (int)pow(3, quotient …

【CPP】继承语法详解与菱形继承

关于我&#xff1a; 睡觉待开机&#xff1a;个人主页 个人专栏: 《优选算法》《C语言》《CPP》 生活的理想&#xff0c;就是为了理想的生活! 作者留言 PDF版免费提供&#xff1a;倘若有需要&#xff0c;想拿我写的博客进行学习和交流&#xff0c;可以私信我将免费提供PDF版。…

iOS更新后在IPhone上恢复丢失的文本消息的4种方法

您是否在更新 iPhone 软件后丢失了重要的短信&#xff1f;丢失数据可能会令人沮丧&#xff0c;尤其是当它包含有价值的信息或感性信息时。幸运的是&#xff0c;有一些方法可以在iOS更新后恢复iPhone上丢失的短信。 在这篇博文中&#xff0c;我们将讨论可用于恢复丢失的短信的不…