当前位置: 首页 > news >正文

xss靶场绕过

目录

第一关

原理

payload

第二关

原理

payload

第三关

原理

payload

第四关

原理

payload

第五关

原理

payload

第六关

原理

payload

第七关

原理

payload

第八关

原理

payload

第九关

原理

payload

第十关

原理

payload

第十一关

原理

payload

第十二关​编辑

原理

payload

第十三关

原理 

payload


第一关

原理

由于没有对用户的输入做任何限制,因此可以直接使用<script>标签,实现弹窗。

payload

<script>alert(1)</script>

第二关

原理

可以看到,用户的输入在 <from>表单当中,此时就可以对<input>标签先进行闭合,然后在后面增加<script>标签的弹窗语句,实现弹窗。

payload

"><script>alert(1)</script>

第三关

原理

从PHP代码中可以看到,存在一个htmlspecialchars的过滤函数,此函数可以将特殊字符转换为HTML实体,具体可看https://www.php.net/manual/zh/function.htmlspecialchars.php

上面PHP代码中由于htmlspecialchars函数没有跟相关参数,导致单引号仍然可以闭合前面的单引号。因此实现弹窗。

payload

' onclick=alert(1)//

第四关

原理

可以看出PHP对><进行了过滤,<from>表单则直接将用户的输入进行><过滤后直接赋予了<input>,此时通过双引号进行闭合,实现弹窗。

payload

" onclick=alert(1)//

第五关

原理

在PHP中过滤了<script和on关键字,用户过滤后的输入则直接传到<input>中,使用">将<input>标签闭合,此时使用<a>标签,实现弹窗

payload

"><a href="javascript:alert(1)">aaa</a>

第六关

原理

在PHP中<script、on、src、data、href关键字都被过滤掉了,用户过滤后的输入被传到<input>中,使用">对<input>标签进行闭合,由于没有过滤大小写,可以通过使用大小写的方式进行绕过,实现弹窗。(在HTML中忽略大小写字母,而在js中则严格区分大小写字母) 

payload

"><Script>alert(1)</Script>

第七关

原理

在PHP中可以看到,将用户输入的字符首先进行小写字母的转换,再对用户的输入进行关键字过滤,比如script、on、src、data、href关键字的替换。将传递的参数传递到<input>中,使用">将<input>标签进行闭合。由于用户的输入是一次性传递过去,这些关键字只能过滤一次,因此可以使用双拼写的形式进行绕过,实现弹窗。

payload

" oonnclick=alert(1)//

第八关

原理

在PHP中,用户的输入首先进行了小写字母的转换,其次对script、on、src、data、href、"关键字进行了替换。将过滤后的参数传递到<input>中,由于过滤了",因此无法闭合,只能在想其他办法进行绕过,编码就是很不错的一种方法,将javascript转为HTML实体编码,进行绕过,实现弹窗。

payload

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)

第九关

原理

在PHP中可以看到,用户的输入首先经过小写字母的转换,然后是关键字script、on、src、data、href、"都进行了替换。存在一个if语句,用户的输入必须存在一个http://协议名,此时可以通过对javascript进行HTML编码,在使用注释将http://注释掉,实现弹窗。

payload

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)//http://

第十关


原理

首先先尝试在<input>的name属性开始传递参数,观察哪一行<input>可以插入数据,尝试过后发现"t_sort"可以看到数据的插入,用"闭合value属性,使用type="text"将其type="hidden"覆盖掉,为了方便看到插入的数据,在使用点击事件来进行绕过,实现弹窗

payload

t_link=1111&t_history=1111&t_sort=1111"%20onclick=alert(1)%20type="text"

第十一关

原理

首先尝试在<input>标签中的name属性传递参数来观察,看哪个<input>标签的有数据显示,看到的t_sort出现数据,但是仔细观察会发现,我们传递的" οnclick=alert(1) type="text"参数中,双引号没有和前面的双引号发生闭合,因此我们需要找其他方式,使用火狐的hackbar插件,对t_ref属性进行传参,发现参数可以显示出来,因此再次尝试" οnclick=alert(1) type="text",结果不出意料,实现弹窗。

payload

" onclick=alert(1) type="text"

第十二关

原理

这一关的原理与是一关原理类同,几乎就是一模一样,只是换了一个属性而已,通过user Agent字段来实现绕过,实现弹窗。 

payload

aa" onclick=alert(1) type="text"

第十三关

原理 

这一关与十二管原理类同,通过Cookies来进行绕过,实现弹窗。

payload

aaa" onclick=alert(1) type="text"

http://www.lryc.cn/news/32265.html

相关文章:

  • 【数据结构】核心数据结构之二叉堆的原理及实现
  • Spring Cloud Alibaba+saas企业架构技术选型+架构全景业务图 + 架构典型部署方案
  • RocketMQ-03
  • 大神教你在 Linux 中查看你的时区
  • Redis持久化策略
  • 显著性检验【t-test、方差分析、ks检验】
  • 访问学者在德国访学生活衣食住行攻略
  • SQL-刷题技巧-删除重复记录
  • 基于JSP的虚拟账号交易平台
  • LeetCode201_201. 数字范围按位与
  • 一款好的风险管理软件可以做什么
  • html2canvas使用文档
  • HTML DOM 改变 CSS
  • 基于EB工具的TC3xx_MCAL配置开发01_WDG模块配置介绍
  • Activty启动到显示的过程[二]
  • ubuntu 18.04.06LST安装R4.0+版本报错及解决过程
  • 数据湖架构Hudi(五)Hudi集成Flink案例详解
  • 【Java学习笔记】9.Java 循环结构 - for, while 及 do...while
  • 【面向对象初步】之面向对象VS面向过程
  • 原型链(回顾)
  • DS内排—2-路归并排序
  • 深度账户抽象(Account Abstraction)第 3 部分:Wallet创建
  • 代码分享:面波数据快速成图
  • 常见数据结构
  • Mycat
  • Java 编写Vue组件(VueGWT的初尝试)
  • 【第二章 @RequestMapping注解(value,method,params属性),springMVC支持ant风格的路径,支持路径中的占位符】
  • QML Text详解
  • xxl-job启用https访问
  • 2023FL Studio最新中文版电子音乐、混音和母带制作DAW