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 &Tab; 试过了还是不行

最后去找了下别人的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 空格 被转为空格占位符 &nbsp;

在之前看到的文章里想到了用换行符和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)的更多相关文章

  1. xss挑战赛小记 0x02(prompt(1))

    0x0O 上次搜xss挑战赛的时候 还找到了一个看上去难度更高的挑战赛 今天做了一下 学到了很多新东西 这个挑战赛能够在页面成功prompt(1)就算过关了 挑战地址 http://prompt.ml ...

  2. xss挑战赛小记 0x03(xssgame)

    0x00 继续做xss吧 这次是xssgame 地址 http://www.xssgame.com/ 一共八关 学到了很多东西 0x01 啥也没有 <svg/onload="alert ...

  3. 某xss挑战赛闯关笔记

    0x0 前言 在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyu ...

  4. XSS挑战赛(4)

    16-20关 第十六关 关键代码为: <?php ini_set("display_errors", 0); $str = strtolower($_GET["ke ...

  5. XSS挑战赛(3)

    查看关键代码: <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = ...

  6. XSS挑战赛(2)

    进入第六关 简单判断过滤情况 <>script"'/ 查看源代码 可以看到第二个红框部分跟之前类似,闭合双引号尝试进行弹窗 "><script>ale ...

  7. XSS挑战赛(1)

    以前囫囵吞枣做过一遍,现在从头再来 第一关网址为:http://127.0.0.1/xss-labs-master/level1.php?name=test 而页面上显示了用户test,name可控, ...

  8. 先知xss挑战赛学习笔记

    xss游戏 游戏地址:http://ec2-13-58-146-2.us-east-2.compute.amazonaws.com/ LEMON参考wp地址 1. 文件上传 源码如下 <?php ...

  9. XSS之xssprotect(转)

    参考资料 1 跨网站脚本 http://zh.wikipedia.org/wiki/XSS 2 http://code.google.com/p/xssprotect/ 一 跨网站脚本介绍      ...

随机推荐

  1. Python简单介绍以及Python环境搭建(入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6400694.html 本文出自:[Edwin博客园] Python 简单介绍 适合领域: Web网站和各种网 ...

  2. windows下makefile命令详解

    转自https://blog.csdn.net/xiexievv/article/details/45775005 1. 如果已经有vc6的dsp工程,可直接导出nmake脚本文件(.mak) “Pr ...

  3. Android(java)学习笔记45:深入分析Java ClassLoader原理

    1. 前言: Android中的动态加载机制能更好的优化我们的应用,同时实现动态的更新,这就便于我们管理我们的应用,通过插件化来减轻我们的内存以及CPU消耗,在不发布新版本的情况下能更新某些模块. 当 ...

  4. 项目Alpha冲刺(团队7/10)

    项目Alpha冲刺(团队7/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...

  5. 2018.12.1 web项目中解决乱码问题的一个工具类

    <!-- 配置一个过滤器 编码格式的过滤器 --> <filter> <filter-name>encodeFilter</filter-name> & ...

  6. HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)

    传送门: Bungee Jumping Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  7. 运用Xdebug调试和优化PHP程序

    什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况.Xdebug现在的最新版本是xdebug 2.0.0beta ...

  8. Restframework中的Request

    1.介绍 该篇博客主要介绍restframework内置的Request类,它扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等. 如: 在APIView中封装的r ...

  9. SpringBoot非官方教程 | 第十四篇:在springboot中用redis实现消息队列

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot14-redis-mq/ 本文出自方志朋的博客 这 ...

  10. c# LRU实现的缓存类

    在网上找到网友中的方法,将其修改整理后,实现了缓存量控制以及时间控制,如果开启缓存时间控制,会降低效率. 定义枚举,移除时使用 public enum RemoveType    {        [ ...