xss挑战赛小记 0x01(xsstest)
0x00
今天在先知社区看到了一个xss挑战赛
结果发现比赛已经结束 服务器也关了
百度找了个xss挑战赛来玩一下
正好印证下xss的学习---
地址 http://test.xss.tv/
ps:写的时候 有些关过不去 发现了一个心路历程和我很相似的wp
默默点了关注
留一个他的链接 http://www.cnblogs.com/r00tuser/p/7407459.html
0x01
参数是name 直接试了一下<script>alert(1)</script>
发现过了
0x02
随便输111发现有两个xss的点

第一个点做了防护第二个点没有

就加个"> 闭合前面的标签就好了

0x03
同样有两个点 但是两个点都做了防护 被转化为实体标签了
虽然<>不能用 但是是在标签里面 用事件应该能过

就用onmouseover这个事件 然后闭合前面的属性
' onmouseover='alert(1)

当然用其他的事件oninput onselect等等也行
0x04
这一关只是把需要闭合的从单引号变成了双引号
用上面同样的姿势..换成双引号就可以过。。
0x05
用刚刚的姿势试了一下
发现他把on转化为o_n
这样就用不了事件了。。。但是script没有被转
插入标签试试
"> <a href="javascript:alert(1)">1</a>
点击1 弹框

0x06
这一关就发现href被转化为hr_ef了...
script data action src confirm都被转化了
但是name code poster background还是幸存
弄了很久都没找到可以用的东西
想想试一下大小写和编码。。。发现大写可以绕过..混写也行
"><SCRIPT>alert(1)</SCRIPT> (alert大写就弹不了)
0x07
发现script和on这样的被直接替换为空了
猜测是replace这样的一次替换
双写发现过了

0x08
同样有两个点 过滤略有不同
主要看链接这个点
仍然过滤了on script src href " 等 而且大写也会被转化为小写
但是<> ' img 几个都没被过滤
因为第二个点输入的参数在href标签里面
很容易想到伪协议javascript:alert(1)
script的绕过是个问题。。%00 	 试过了还是不行
最后去找了下别人的wp 发现可以用%09过 (url里为%09 就是tab)
javas%09cript:alert(1)
0x09
这一关就完全get不到点了。。一直显示不合法的链接
试了一些方法都不行,只有去看下wp
发现wp上说这道题的意思是会自动检测url
不带http://的内容就会显示不合法。。觉得自己的思路真是太僵了
用http://输入试了一下发现果然不会显示不合法
但是仍然过滤了一些东西 可以利用上一关的payload
javas%09cript:alert('http://') 这样就可以过了
wp里的payload是利用注释
javas%09cript:alert(1)//http://
0x10
一看没有显示的东西
源码里发现三个隐藏的input
测试了一下发现前两个都没用 但是第三个sort有显示
把属性变成text就可以显示了
t_sort=" onmouseover="alert(1)" type="text" 这样就可以了
0x11
相比10多了一个ref
但是还是只有sort有显示 但是做了过滤
想到referer...抓个包看一下
在包里面添加一个referer发现参数能被显示出来

Referer:11111" onmouseover="alert(1)" type="text 这样就过了
0x12
在源码里又发现了User-Agent的输出
同样修改一下
User-Agent:11111" onmouseover="alert(1)" type="text
同样的payload过了
0x13
同样看到了cook联想到cookie
应该跟前面两题一样的尿性
Cookie参数同样也可以输出 修改一下就行
Cookie: user=11111" onmouseover="alert(1)" type="text
0x14
这一关需要访问的网站无法连接了
就做不了这道题目了
看了wp是一个图片exif xss
在图片详细信息中插入xss代码可以弹
0x15
通过14的链接直接看第15关
发现有个参数src=
查看源码可见src参数传递到ng-include 查了一下发现是一个外部包含指令
具体了解可参考这篇文章
http://blog.csdn.net/u011127019/article/details/53666528
想到了包含前面的弹框
ng-include中包含的script标签中的命令不会执行
src='http://test.xss.tv/level1.php?name=111<img src=123 onerror=alert(1)>'
这样就可以弹了
0x16
keyword这个点下 script 空格 被转为空格占位符
在之前看到的文章里想到了用换行符和tab
但是tab同样会被转化为空格占位符
只能用换行符 %0d %0a
<img%0Dsrc="1"%0Donerror="alert(1)">
0x17
这道题有个flash..一开始觉得很难
试探性的改了下参数再看源码发现会输出
就直接试试

前面没有" 就不用闭合前面的
发现"会被转 就换成单引号
onmouseover='alert(1)'
前面有个空格为了和前面的隔开
0x18
还是一样的参数
一样的payload可以过
0x19
这一关的src参数用双引号包裹起来了
但是如果输出双引号去闭合会被转成实体符号
所以参数一定在src之中
去看wp他说是flash xss
没有接触过这个也不懂。。
0x20
同19
0xX0
入门的基础学习。。
xss还是挺有意思的
xss挑战赛小记 0x01(xsstest)的更多相关文章
- xss挑战赛小记 0x02(prompt(1))
0x0O 上次搜xss挑战赛的时候 还找到了一个看上去难度更高的挑战赛 今天做了一下 学到了很多新东西 这个挑战赛能够在页面成功prompt(1)就算过关了 挑战地址 http://prompt.ml ...
- xss挑战赛小记 0x03(xssgame)
0x00 继续做xss吧 这次是xssgame 地址 http://www.xssgame.com/ 一共八关 学到了很多东西 0x01 啥也没有 <svg/onload="alert ...
- 某xss挑战赛闯关笔记
0x0 前言 在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyu ...
- XSS挑战赛(4)
16-20关 第十六关 关键代码为: <?php ini_set("display_errors", 0); $str = strtolower($_GET["ke ...
- XSS挑战赛(3)
查看关键代码: <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = ...
- XSS挑战赛(2)
进入第六关 简单判断过滤情况 <>script"'/ 查看源代码 可以看到第二个红框部分跟之前类似,闭合双引号尝试进行弹窗 "><script>ale ...
- XSS挑战赛(1)
以前囫囵吞枣做过一遍,现在从头再来 第一关网址为:http://127.0.0.1/xss-labs-master/level1.php?name=test 而页面上显示了用户test,name可控, ...
- 先知xss挑战赛学习笔记
xss游戏 游戏地址:http://ec2-13-58-146-2.us-east-2.compute.amazonaws.com/ LEMON参考wp地址 1. 文件上传 源码如下 <?php ...
- XSS之xssprotect(转)
参考资料 1 跨网站脚本 http://zh.wikipedia.org/wiki/XSS 2 http://code.google.com/p/xssprotect/ 一 跨网站脚本介绍 ...
随机推荐
- ZT c++ 中的重载全局new,delete
c++ 中的重载全局new,delete 分类: c++ 2010-08-06 10:31 116人阅读 评论(1) 收藏 举报 deletec++file编译器语言工作 最近做一个小项目,对c++又 ...
- Scrum _GoodJob
作为长大的大三老腊肉,我们已经在长大生活了两年多,对于什么是长大人最想完善的校园需求.最想拥有的校园服务媒介也有了更加深切的体会. 于是,GoodJob小团队blingbling闪现啦!! GoodJ ...
- asp.net反射的运用
反射的用途: (1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例. (2)使用Module了解包含模块的程序集以及模块中的 ...
- Bootstrap Table的使用小结
1.Jquery中的一些东西学习一下子,补充完善一下,毕竟有些时候没有使用到 这个方式很有用,在使用bootstrap table的时候,选择当前已经选择的节点的事件中的ID的值 当前rows中有很多 ...
- OpenCV人脸识别
import cv2 filename = 'pic.jpg' def detect(filename): face_cascade = cv2.CascadeClassifier('./haarca ...
- iOS 代码混淆--pch实现
之前实现代码的混淆一般是使用sh脚本,不过也是需要把一写需要混淆的方法写到一个文件中(除非是使用特定的命名规范统一混淆), 现在发现,实现代码的混淆pch 文件就可以轻松完成! 1,在新建的工程中 创 ...
- serlvet配置xml和@WebServlet
简单介绍 XML元素不仅是大小写敏感的,而且它们还对出现在其他元素中的次序敏感.例如,XML头必须是文件中的第一项,DOCTYPE声明必须是第二项,而web-app元素必须是第三项.在web-app元 ...
- MVC学习五:Razor布局页面 _ViewStart.cshtml
如图: _ViewStart.cshtml就是MVC中的布局页面/模板页面. 用户访问流程图: 原理:先去执行Views文件夹下[_ViewStart.cshtml]页面,然后同级目录文件夹(上图中的 ...
- JVM 监控以及内存分析
1 内存分析1.1 jmap -histo 命令pid=`jps | awk '{if ($2 == "Jps") print $1}'`jmap -histo $pid > ...
- 中小学信息学奥林匹克竞赛-理论知识考点--IP地址
IP地址同身份证号一样,具有唯一性! 每个人都有一个唯一的标识:身份证号. 互联网中的计算机也一样,具有一个唯一的标识:IP地址. IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也 ...