2、xss-labs之level2
1、打开页面

2、传入xss代码
payload:<script>alert(xss)</script>,发现返回<script>alert(xss)</script>

3、分析原因
打开f12,没什么发现

看后端源码,在这form表单通过get获取keyword的值赋给$str,然后$str通过htmlspecialchars()过滤
htmlspecialchars()是 PHP 中的一个函数,用于将特殊字符转换为 HTML 实体。这通常用于防止跨站脚本攻击(XSS),并确保特殊字符(如<,>,&,",'等)在 HTML 上下文中被正确解析。
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET><input name=keyword value="'.$str.'"><input type=submit name=submit value="搜索"/>
</form>
4、构建payload
所以我们通过前端可以看到:<input name=keyword value="<script>alert(xss)</script>">
所以我们考虑将<input name=keyword value=" "这个闭合,然后后面在跟我们的xss代码,这样传入的value就被过滤,但我们xss就被网页执行
所有构建payload:"> <script>alert("xss")</script>
然后变成:<input name=keyword value=" "> <script>alert("xss")</script>

5、疑惑反思
做题遇到的疑惑:
一开始我在想传入<script>alert("xss")</script>,不是被htmlspecialchars 函数转义成<script>alert("ls /")</script>了么,然后又通过代码:echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>" 输出前端,为什么最后页面显示是“没有找到和 <script>alert("ls /")</script> 相关的结果。而不是”没有找到和<script>alert("ls /")</script>相关的结果.“
通过查阅资料,就懂了
6、网页渲染过程
原理:
1、你参数传进去,PHP 后端中使用 htmlspecialchars 对输入进行转义
2、然后开始执行PHP的后端代码,你的参数就执行不了,传入的payload也执行不了
3、PHP后端代码执行完后,浏览器会将转义后的字符还原为原始字符进行显示
4、因此,页面最终显示的是用户原始输入的内容,而不是转义后的字符
所以我们要通过闭合来绕开后端的过滤,来执行我的payload
反思:开发与安全缺一不可
总结:
1、xss的payload的构建可以f12查看前端代码
2、理解构建xss的闭合过程,其实就是绕过过滤
相关文章:
2、xss-labs之level2
1、打开页面 2、传入xss代码 payload:<script>alert(xss)</script>,发现返回<script>alert(xss)</script> 3、分析原因 打开f12,没什么发现 看后端源码,在这form表单通过get获取keyword的值赋给$str&am…...
人才测评的应用:人才选拔,岗位晋升,面试招聘测评
人才测评自诞生以来,就被广泛应用在各大方面,不仅是我们熟悉的招聘上,还有其他考核和晋升,都会需要用到人才测评。不知道怎么招聘?或者不懂得如何实现人才晋升?都可以参考人才测评,利用它帮我们…...
前端面试题日常练-day33 【面试题】
题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末。 在jQuery中,以下哪个选项用于在元素上绑定一个点击事件? a) click() b) bind() c) on() d) trigger() jQuery中,以下哪个选项用于获取元素的属性值? …...
非整数倍数据位宽转换24to128
描述 实现数据位宽转换电路,实现24bit数据输入转换为128bit数据输出。其中,先到的数据应置于输出的高bit位。 电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;clk是时…...
html通过数据改变,图片跟着改变
改变前 改变后 通过数据来控制样式展示 <template><div>通过num控制图标是否更改{{num}}<div class"box"><!-- 如果num大于1则是另一种,样式,如果小时1,则是另一种样式 --><div class"item&qu…...
centos7.9 安装SqlServer
1、导入Microsoft SQL Server CentOS存储库: sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo2、安装SQL Server: sudo yum install -y mssql-server假如机器内存不足2G 需要对…...
Idea中flume的Interceptor的编写教程
1.新建-项目-新建项目 注意位置是将来打包文件存放的位置,即我们打包好的文件在这/export/data个目录下寻找 2. 在maven项目中导入依赖 Pom.xml文件中写入 <dependencies> <dependency> <groupId>org.apache.flume</groupId> <artifa…...
java单元测试:JUnit测试运行器
JUnit测试运行器(Test Runner)决定了JUnit如何执行测试。JUnit有多个测试运行器,每个运行器都有特定的功能和用途。 1. 默认运行器 当没有显式指定运行器时,JUnit会使用默认运行器,这在JUnit 4和JUnit 5之间有所不同…...
网络模型—BIO、NIO、IO多路复用、信号驱动IO、异步IO
一、用户空间和内核空间 以Linux系统为例,ubuntu和CentOS是Linux的两种比较常见的发行版,任何Linux发行版,其系统内核都是Linux。我们在发行版上操作应用,如Redis、Mysql等其实是无法直接执行访问计算机硬件(如cpu,内存…...
智能语义识别电影机器人的rasa实现
文章目录 0.前言1.项目整体框架2.rasa训练数据结构4.rasa启动命令及用到的API 0.前言 最近做了一个智能电影机器人的项目,我主要负责用户语义意图识别,用的框架是rasa,对应的版本为 3.6.15,对应的安装命令为: pip3 install rasa…...
C# 实现腾讯云 IM 常用 REST API 之会话管理
目录 关于腾讯 IM REST API 开发前准备 范例运行环境 常用会话管理API 查询账号会话总未读数 查询单聊会话消息记录 下载最近会话记录 小结 关于腾讯 IM REST API REST API 是腾讯即时通信 IM 提供给服务端的一组 HTTP 后台管理接口,如消息管理、群组管理…...
MySQL之Schema与数据类型优化(三)
Schema与数据类型优化 BLOB和TEXT类型 BLOB和TEXT都是为存储很大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储。 实际上它们分别属于两组不同的数据类型家族:字符类型是TINYTEXT,SMALLTEXT,TEXT,MEDIUMTEXT,LONG…...
大语言模型发展历史
大语言模型的发展历史可以追溯到自然语言处理(NLP)和机器学习早期的探索,但真正快速发展起来是在深度学习技术兴起之后。以下是大语言模型发展的一个简要历史概述: 早期阶段(20世纪50-90年代): …...
Nginx - 安全基线配置与操作指南
文章目录 概述中间件安全基线配置手册1. 概述1.1 目的1.2 适用范围 2. Nginx基线配置2.1 版本说明2.2 安装目录2.3 用户创建2.4 二进制文件权限2.5 关闭服务器标记2.6 设置 timeout2.7 设置 NGINX 缓冲区2.8 日志配置2.9 日志切割2.10 限制访问 IP2.11 限制仅允许域名访问2.12 …...
简述js的事件循环以及宏任务和微任务
前言 在JavaScript中,任务被分为同步任务和异步任务。 同步任务:这些任务在主线程上顺序执行,不会进入任务队列,而是直接在主线程上排队等待执行。每个同步任务都会阻塞后续任务的执行,直到它自身完成。常见的同步任…...
[力扣题解] 797. 所有可能的路径
题目:797. 所有可能的路径 思路 深度搜索 代码 // 图论哦!class Solution { private:vector<vector<int>> result;vector<int> path;// x : 当前节点void function(vector<vector<int>>& graph, int x){int i;// cout <&l…...
【QT八股文】系列之篇章3 | QT的多线程以及QThread与QObject
【QT八股文】系列之篇章3 | QT的多线程 前言4. 多线程为什么需要使用线程池线程池的基础知识python中创建线程池的方法使用threading库队列Queue来实现线程池使用threadpool模块,这是个python的第三方模块,支持python2和python3 QThread的定义QT多线程知…...
基于python flask的web服务
基本例子 from flask import Flask app Flask(__name__) app.route(/)#检查访问的网址,根路径走这里 def hello_world():return hello world#返回hello worldif __name__ __main__:# 绑定到指定的IP地址和端口app.run(host0.0.0.0, port1000, debugTrue)##绑定端…...
HTTP 响应分割漏洞
HTTP 响应分割漏洞 1.漏洞概述2.漏洞案例 1.漏洞概述 HTTP 响应拆分发生在以下情况: 数据通过不受信任的来源(最常见的是 HTTP 请求)进入 Web 应用程序。该数据包含在发送给 Web 用户的 HTTP 响应标头中,且未经过恶意字符验证。…...
Algoriddim djay Pro Ai for Mac:AI引领,混音新篇章
当AI遇上音乐,会碰撞出怎样的火花?Algoriddim djay Pro Ai for Mac给出了答案。这款专业的DJ混音软件,以AI为引擎,引领我们进入混音的新篇章。 djay Pro Ai for Mac的智能混音功能,让每一位DJ都能感受到前所未有的创作…...
告别本地配置!Core72在线IDE:5分钟打造云端开发环境终极指南
告别本地配置!Core72在线IDE:5分钟打造云端开发环境终极指南 【免费下载链接】core Online IDE powered by Visual Studio Code ⚡️ 项目地址: https://gitcode.com/gh_mirrors/core72/core 还在为复杂的本地环境配置而烦恼吗?Core72…...
番茄小说下载器高效使用全攻略:轻松获取并管理你喜爱的小说
番茄小说下载器高效使用全攻略:轻松获取并管理你喜爱的小说 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 在数字阅读时代,拥有一款可靠的小说下载工具能极大提升阅…...
Phi-4-mini-reasoning与SpringBoot微服务集成:构建智能业务逻辑层
Phi-4-mini-reasoning与SpringBoot微服务集成:构建智能业务逻辑层 1. 为什么要在微服务中集成AI推理能力 微服务架构已经成为现代企业应用开发的主流选择,而AI能力的引入正在改变传统业务逻辑的实现方式。将Phi-4-mini-reasoning这样的轻量级推理模型集…...
终极算法面试指南:Tech-Interview-Cheat-Sheet助你轻松展示算法思维
终极算法面试指南:Tech-Interview-Cheat-Sheet助你轻松展示算法思维 【免费下载链接】Tech-Interview-Cheat-Sheet Studying for a tech interview sucks. Heres an open source cheat sheet to help 项目地址: https://gitcode.com/gh_mirrors/te/Tech-Interview…...
【实战】Ubuntu 22.04LTS下Nvidia驱动安装与GCC版本冲突解决指南
1. 为什么你的Nvidia驱动安装总失败? 每次在Ubuntu上装Nvidia驱动就像在玩俄罗斯轮盘赌——有时候一次成功,有时候要反复折腾好几遍。特别是Ubuntu 22.04LTS这个长期支持版本,表面看着稳定,实际暗藏杀机。最常见的问题就是那个让人…...
终极魔兽争霸III优化指南:WarcraftHelper 完整使用教程
终极魔兽争霸III优化指南:WarcraftHelper 完整使用教程 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 想让经典魔兽争霸III在现代电脑上流…...
ThinkPad风扇控制终极指南:3分钟实现安静高效的散热管理
ThinkPad风扇控制终极指南:3分钟实现安静高效的散热管理 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 还在为ThinkPad笔记本的噪音烦恼吗?&am…...
如何用Calibre-Douban插件解决豆瓣API关闭后的电子书元数据管理难题
如何用Calibre-Douban插件解决豆瓣API关闭后的电子书元数据管理难题 【免费下载链接】calibre-douban Calibre new douban metadata source plugin. Douban no longer provides book APIs to the public, so it can only use web crawling to obtain data. This is a calibre D…...
40 ns 10 MHz:一颗中国“芯”凭TMR技术交出高频电流传感新答案
当第三代半导体将电力电子系统的开关频率推至MHz时代,电流检测环节却成了整个系统的“速度瓶颈”,行业亟待一场感知革命。安徽希磁科技股份有限公司(以下简称“希磁科技”)最新发布的STK-636TMF芯片级电流传感器,以40纳…...
如何快速生成自己的数字人?亲测指南
数字人已成为短视频营销、跨境电商等领域的新工具,如何快速生成自己的数字人?本文结合亲测经验,分享实用方法。 一、数字人生成的核心步骤(3步搞定) 生成数字人无需复杂技术,只需三步即可完成。首先&#x…...
