没事重新从xss的源码分析一下形成和利用

  1. xss挑战之旅进入一关,发现url中有一个参数name可控;测试测试一下,弹窗成功,在xss中拥有同样弹窗效果的函数alert,还有prompt,以及confirm和prompt
    查看原码发现对输出没有进行过滤,直接get参数输出


查看原码发现对输出没有进行过滤,直接get参数输出


2. 第二关进入,看到输入发现没回应,查看原码被转义了尝试构造闭合payload: “>

打开源码发现一处被htmlspecialchars($str)转义另一处没有转义

3. 进入第三关构造payload打开原码发现尖括号被转义,使用事件函数oninput onclick 或者onchange payload为’ οnchange=alert’123’ ‘触发



查看原码发现尖括号被转义

4. 进入第四关 构造payload发现为黑名单过滤了尖括号使用onclick触发,使用“闭合payload为
" οnclick=alert ‘123’


查看原码果然为 黑名单过滤

6. 进去后尝试payload查看前台原码发现on和script变成了o_n ,s_cript ,尝试使用a标签实现函数的调用,然后用javascript:alert(‘123’)去调用javascript函数触发构造的pyload
"> dian


查看原码发现对特定函数进行了添加_

7. 尝试构造payload发现上次的href增加了_,尝试增加大小写绕过 payload ">dian



查看原码发现黑名单果然增加了

8. 构造上次的payload发现href和 script被过滤,尝试复写嵌套”>alert(1)
查看原码果然是过滤了这些函数

9. 构造payload尝试发现给关键字都加上了_ 大小写也不行,尝试html编码绕过成功payload
javascript:alert(1)


查看源码

9.使用上次的pyload发现没有识别,查看前台原码发现提示要验证http合法性后面添加javascript:alert(1)//http://


查看后端原码,发现在以前的基础上添加了http判断

10.进入第10关,查看前台原码尝试函数发现多了hidden这个参数,发现t_sort是可以注入的,于是用t_sort来弹窗构造payload使用onclick弹出使用text显示出来payload为 t_sort=" οnclick=“alert(123)” type=“text” “”



11.构造payload查看前台源码发现ref字段是http referer的值,参数尝试抓包改包,构造参数



9. 构造payload查看前台源码发现t_ua字段是http User-Agent的值,参数尝试抓包改包,构造参数

  1. 构造payload查看前台源码发现t_cook字段是http cookie的值,参数尝试抓包改包,构造参数


    14.没有环境
    15.直接看源码吧没试出来

    看到这个函数百度一下是文件包含的一个类,选择包含还要没尖括号选择包l2的

    16.查看原码,发现输入的东西经过了大小写的转换并且通过四次的替换检查,分别对script,空格,/,进行了替换,但尖括号没有被替换。

    可以使用img标签,,可以选择%0d %0a 进行绕过,构造出最后的payload,
    <img%0dsrc=1%0dοnerrοr=“alert(123)”>

    17.打开源码发现了两个注入点构造payload

    俩个输出的值都被做了实体化转义,无法闭合标签,而 embed标签可以加入事件,可以在arg01,或者arg02中加入事件去触发

    18.尝试上次的payload直接弹窗

    看输出跟上一关一样

    19.后边涉及到反编译看了大哥的没看懂,下去再研究一下payload :arg01=version&arg02=%3Ca%20href=%22javascript:alert(%27xss%27)%22%3E111%3C/a%3E

    20.payload为arg01=id&arg02=%22))}catch(e){}if(!self.a)self.a=!alert(/xss/)//%26width%26height

xss labs 挑战之旅相关推荐

  1. xss靶场挑战之旅总结

    第一关: 没有做任何的过滤 我们试下 第二关: 我们用"> 有转义 参考HTML的转义 输入的 " > < 被做了转义处理,变成了">< 我 ...

  2. XSS学习-XSS挑战之旅(二)

    前言:之前打XSS平台时,打到了第11关就没有继续了,现在有空了就继续打咯,再增加点关于XSS的知识. 第十一关 这关坑我好长时间,看了好多博客直接给说修改Referer,给截图中都有自带的Refer ...

  3. Docker下搭建XSS挑战之旅靶场

    我是在centos7下使用docker搭建xss挑战之旅靶场 一.先安装下docker容器 1.安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是device ...

  4. XSS挑战之旅---游戏通关攻略

    最近发现一个有趣的XSS闯关小游戏,游戏的作者是先知社区的大佬Mramydnei,喜欢XSS的大家可以一起来学习交流. 现在我把自己在前面的十八关里面的闯关过程记录一下,大神绕行,我是菜鸟,大家可以一 ...

  5. 从xss挑战之旅来重读xss(一)

    在开始这篇文章之前,先简单聊几句: xss很多时候是鸡肋,比如说self-xss 很多厂商都会注明拒收反射xss,如58src 遇到请证明危害性的说法就走,人家的潜台词也是拒收反射xss 遇到收反射x ...

  6. ubuntu使用docker搭建xss挑战之旅环境

    ubuntu使用docker搭建xss挑战之旅环境 (1)启动docker docker systemctl start docker (2)下载docker-compose部署容器 git clon ...

  7. XSS平台 XSS挑战之旅 解题记录 writeup

    XSS平台 XSS挑战之旅 解题记录 writeup level1 level2 level3 level4 level5 level6 level7 level8 level9 level10 le ...

  8. 使用docker搭建sqli-lab环境以及upload-labs环境 xss挑战之旅环境 搭建vulhub环境

    sqli-lab环境 1)查找sqli-lab环境 docker search sqli-labs 2)拉取镜像 docker pull acgpiano/sqli-labs 3) docker ru ...

  9. xss挑战之旅11-19关

    文章目录 前言 第11关:referer 第12关:User-Agent 第13关:cookie 第14关:exif xss 第15关:ng-include 第16关 第17关 第18关 第19关:f ...

最新文章

  1. 获取当前脚本目录路径问题汇总
  2. Vue.js 条件渲染
  3. python中raw_input未定义_python之NameError: name 'raw_input' is not defined
  4. P3293 [SCOI2016]美味 主席树 + 伪01trie
  5. java程序运行结果题_2016年关于Java编程与程序运行结果笔试题
  6. 基于webpack3.x从0开始搭建React开发环境
  7. Redis五种数据结构应用场景
  8. 14 SD配置-企业结构-分配-分配销售组织-分销渠道-工厂
  9. php爬取js对象,php如何用正则解析html中的js对象
  10. centos 7 开放指定端口
  11. HTML5 Canvas 和 SVG
  12. jquery cookie 插件 (支持json对象) 可以跟jquery 集成 也可以单独使用
  13. cgroup学习(二)——cgroup框架结构
  14. 获取CPU、硬盘、主板序列号及MAC地址工具类
  15. 学习目录-自己动手写CPU
  16. 读《华为“打工皇帝”徐家骏的十年感悟》的心志提升
  17. 日语动词变形整理 By Killua
  18. 华硕路由器官改/梅林 设置外置USB-JFFS解救NAND
  19. JavaScript 日期处理类库 --- Moment.js
  20. 12个免费logo生成器

热门文章

  1. 算法 2.二进制加法
  2. 如何让自己开发的web项目实现外网访问
  3. win7母机上的vmware12中Ubuntu16中安装复制粘贴工具
  4. 蚂蚁开放平台—获取支付宝用户信息
  5. 童年游戏 世嘉MD 美少女战士 最高难度 一命通关视频
  6. javaGUl编程设计(大学生项目)
  7. win8服务器防火墙配置文件,Win8自带防火墙吗,Win8防火墙在哪里(适用于Win8.1)?
  8. 计算机网络共享硬件吗,计算机网络如何共享硬件资源
  9. 谢绝枯燥快乐编程,四大游戏编程网站,让你边玩游戏,边学Python
  10. 公司网站制作需要多少钱?