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

相关文章

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

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

Linux脚本(shell)的使用方式

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

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密