xss靶场详解

目录

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.rhkb.cn/news/407435.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图机器学习系列】(二)从传统机器学习角度理解图(一)

微信公众号&#xff1a;leetcode_algos_life&#xff0c;代码随想随记 小红书&#xff1a;412408155 CSDN&#xff1a;https://blog.csdn.net/woai8339?typeblog &#xff0c;代码随想随记 GitHub: https://github.com/riverind 抖音【暂未开始&#xff0c;计划开始】&#xf…

面试题详解

前言&#xff1a;这一期我们专门来巩固所学知识&#xff0c;同时见识一些面试题。对知识做出一个总结。 1 不创建临时变量交换两个整数 . 第一种方法 #include<stdio.h> int main() {int a 0;int b 0;scanf("%d %d", &a, &b);printf("交换前…

深度学习 --- VGG16卷积核的可视化(JupyterNotebook实战)

VGG16卷积核的可视化 在前一篇文章中&#xff0c;我对VGG16输入了一张图像&#xff0c;并实现了VGG16各层feature map的可视化。深度学习 --- VGG16各层feature map可视化(JupyterNotebook实战)-CSDN博客文章浏览阅读615次&#xff0c;点赞13次&#xff0c;收藏15次。在VGG16模…

Linux三剑客-sedawk

一、三剑客-sed命令 1、格式 sed 找谁干啥 文件 找谁:条件&#xff0c;匹配哪一行&#xff0c;哪些行. 干啥:动作&#xff0c;增删改查. #显示文件的第3行 sed -n 3p /etc/passwd选项说明-n取消默认输出-p查找-rsed支持扩展正则-i修改文件内容&#xff0c;这个选项放在最后…

【C++ Primer Plus习题】3.5

问题: 解答: #include <iostream> using namespace std;int main() {long long populationWorld 0;long long populationChina 0;cout << "请输入全球的人口数:";cin >> populationWorld;cout << "请输入中国的人口数:";cin &g…

XSS- - - DOM 破坏案例与靶场

目录 链接靶场&#xff1a; 第一关 Ma Spaghet 第二关 Jefff 第三关 Ugandan Knuckles 第四关 Ricardo Milos 第五关 Ah Thats Hawt 第六关 Ligma 第七关 Mafia 第八关 Ok, Boomer 链接靶场&#xff1a; XS…

GenAI 的产品:快速行动,但失败

2022 年秋季&#xff0c;我正在做一个很酷的项目。是的&#xff0c;你猜对了——使用公司特定的数据对预先训练的 LLM&#xff08;Bert&#xff09;进行微调。 然而&#xff0c;很快 ChatGPT 就发布了&#xff0c;并席卷了全世界。既然已经有一门非常强大的 LLM 了&#xff0c…

ARM——驱动——inmod加载内核模块

在上一篇文章的代码上添加出错处理 #include <linux/init.h> // 包含初始化宏和函数 #include <linux/kernel.h> // 包含内核函数和变量 #include <linux/fs.h> // 包含文件操作的结构和函数 #include <linux/kdev_t.h> /…

PyTorch——transforms

接着上一篇&#xff0c;我们这一篇讲transforms 1、什么是transform 首先transform是来自PyTorch的一个扩展库——【torchvision】&#xff0c;【torchvision】这个库提供了许多计算机视觉相关的工具和功能&#xff0c;能够在神经网络中&#xff0c;将图像、数据集、预处理模型…

【系统架构设计】软件架构设计(1)

【系统架构设计】软件架构设计&#xff08;1&#xff09; 软件架构概述架构需求与软件质量属性软件架构风格数据流风格批处理序列管道-过滤器2者风格比较 仓库风格--黑板系统 层次系统架构风格二层及三层C/S架构风格MVCMVP 面向服务的架构 软件架构概述 基于架构的软件开发模型…

网络通信tcp

一、udp案例 二、基于tcp: tcp //c/s tcp 客户端: 1.建立连接 socket bind connect 2.通信过程 read write close tcp服务器: 1.建立连接 socket bind listen accept 2.通信过程 read write close connect函数 int connect(int sockfd, con…

postgresql 集群文档

https://www.cnblogs.com/Alicebat/p/14148933.html [命令] Pacemaker 命令 pcs cluster &#xff08;管理节点&#xff09; – Eternal Center PostgreSQL实战之物理复制和逻辑复制&#xff08;五&#xff09;_postgresql 流复制和物理复制-CSDN博客 https://jingyan.baidu…

【Windows】深度学习环境部署

引言 1 Windows环境准备 1.1 VSCode Visual Studio Code&#xff08;简称 VSCode&#xff09;是一款由微软开发的开源代码编辑器。它非常受开发者欢迎&#xff0c;因为它功能强大、扩展性好&#xff0c;并且支持多种编程语言。VSCode 尤其适合 Python 开发&#xff0c;特别是…

网络 通信

一、客户端接收(也可以bind) 1. socket socket 函数 用于创建一个套接字&#xff08;socket&#xff09;&#xff0c;这是网络通信的基础。 它的原型如下&#xff1a;int socket(int domain, int type, int protocol); 参数&#xff1a; domain&#xff1a;指定协议族&…

虚幻5|AI视力系统,听力系统,预测系统(3)预测系统

虚幻5|AI视力系统&#xff0c;听力系统&#xff0c;预测系统&#xff08;2&#xff09;听力系统-CSDN博客 一&#xff0c;添加一个AI预感感官配置 1.选中我们的AIPerception,右侧细节添加一个AI预感感官配置&#xff0c;然后我们把所有感官的年龄都调成5&#xff0c;是所有 2…

全网最简单的Java设计模式【九】策略模式-实战中最常用的设计模式之一

策略模式是一种行为设计模式&#xff0c;它允许你定义一系列的算法&#xff0c;把它们一个个封装起来&#xff0c;并且使它们可以相互替换。该模式让算法的变化独立于使用算法的客户。在实际开发中&#xff0c;策略模式可以帮助我们减少大量的 if-else 或 switch 条件判断语句&…

premiere2023暴力压缩视频

目录 1. 需求说明2. 压缩流程 1. 需求说明 要将三段视频拼接起来&#xff0c;时长超过了1h&#xff0c;然后压缩到200M以内的视频。 这是三段视频的信息&#xff1a; 合并三个视频文件意味着总时长增加了。较长的视频文件通常也会更大&#xff0c;即使比特率相同。 当我把三段…

vscode 阅读linux内核(vscode+clangd)

此插件曾在vim里用过&#xff0c;非常好用。 首先先在vscode 里下载clangd插件 这只是客户端&#xff0c;还需下载个服务器&#xff08;这在coc插件里也有说明&#xff09; sudo apt install clangd 下载完后可以 clangd --version 查看版本信息&#xff0c;如果能查看&#x…

UE5 日期时间蓝图变量 加减节点

参考链接&#xff1a;Having troubles with DateTime in UE5 - General / Feedback & Requests - Epic Developer Community Forums (unrealengine.com) 直接粘贴到UE5蓝图图表可用。&#xff08;反之相加&#xff0c;用负号操作一下&#xff09; 减号蓝图节点&#xff08;…

8.22-docker的部署及其使用

docker 1.docker环境部署以及语法 [rootdocker ~]# cat << EOF | tee /etc/modules-load.d/k8s.conf> overlay> br_netfilter> EOFoverlaybr_netfilter[rootdocker ~]# modprobe overlay[rootdocker ~]# modprobe br_netfilter[rootdocker ~]# cat /etc/module…