hackinglab脚本关第十五之Principle很重要的XSS解题思路

2023-12-09 19:38

本文主要是介绍hackinglab脚本关第十五之Principle很重要的XSS解题思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Principle很重要的XSS

分值: 300

原理/原则/理念很重要.....不是所有的xss都叫特仑苏.. ^_^Take it easy!

 

 

解题思路:

首先,题目肯定设置了过滤规则,和14题的妖艳贱货不同,它的过滤器很奇怪,慢慢试。

我们先试一下<script>、javascript这种字符串会不会被过滤:

不出意外的被过滤了:

没事,超链接标签嘛,根据14题的思路,我们尝试闭合href属性,构造一波onmouseover事件:

这样输入试一下:

,很遗憾,结果如下:

哦哟,还是被发现了。走到这里,我们不禁怀疑是不是过滤了alert或者onmouseover这个关键字:那试一下alert有没有被过滤(虽然题目明确说了用alert显现,但是还是要尝试一波,实际操作中谁也不知道alert会不会被过滤掉):

onmouseover同理,可以发现这两个关键字没有被过滤,到这里继续尝试闭合href属性:

尝试14题的解法,猜想过滤器过滤第一个alert之后,字符串后面的东西不会被过滤掉:

然而还是gg,到这里,似乎走到了死路,我连将alert用jsfuck编码之后都尝试了,还是gg,好嘛,灵光一现之下构造如下的输入:alert'οnmοuseοver=alert(1)>

这次迷之成功:

我是将alert'和onmouseover之间的空格去掉,就可以了。

下面来分析一下该题的过滤器工作原理:

和14题一样,通过空格分隔,查找alert这个关键字,发现第一个之后后面的就不会再生效,为什么这么说呢,构造如下输入:

该输入在>和alert之间存在一个空格,因此验证了我的猜想。因此只需要在alert'和onmouseover之间不留空格,过滤器会认为该字符串不等于alert,因此放行。

end.


这篇关于hackinglab脚本关第十五之Principle很重要的XSS解题思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/474845

相关文章

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删