上周在网上看到的一个XSS平台,刷一波《doge

Less - 1:

1.进入主界面,由图二可知是GET请求,提交name=test,回显在页面

2.查看源代码可知

没有做任何过滤,显然存在反射型XSS漏洞

3.构造payload

<script>alert(/xss/)</script>

  

 Less - 2:

1.在输入框输入的数据回显在上方

2.试试上一关的payload

3.查看源代码

发现被包在value中,因此进行闭合构造

4.payload

"><script>alert(/xss/)</script>

 Less - 3:

1.按照第二关进行尝试并查看源码,发现$str被转义,对尖括号进行了过滤

2.因此可以构造标签事件进行过滤,在input标签中构造onfocus事件触发XSS

3.payload

' onfocus=javascript:alert(1) '

  

 

Less - 4:

第四关原理同第三关,过滤的时候注意单引号改成双引号即可

 

Less - 5:

1.带入第四关的payload观察源代码,

2.有源代码可知on,script都不可用而且strtolower()函数导致大小写绕过失效

因此考虑用构造a标签再尝试利用a标签的href属性执行javascript:伪协议

3.payload构造

"><a href='javascript:alert(1)'>

 

Less - 6:

1.带入"><a href='javascript:alert(1)'>发现失效,查看源代码

href等标签均失效,但相比于上一关,少了strtolower()函数,因此考虑大小写绕过

2.构造payload

"><sCript>alert(1)</sCRipt>

 

Less - 7:

1.带入"><sCript>alert(1)</sCRipt>发现依旧失效,查看源代码

将某些标签直接被空白代替,因此考虑使用双写绕过

2.构造payload

"><scrscriptipt>alert(1)</scrscriptipt>

 

Less - 8:(存储型XSS)

1.添加链接,先用javascript:alert(1)试一波,查看源代码可知,常见字段都被加下划线,

2.构造payload(注意:要在url栏中输入)

javascrip%0at:alert(1)

 原理:

href属性引号中的内容可以使用空字符、空格、TAB换行、注释、特殊的函数,将代码隔开。 如:javas%09cript:alert()、javas%0acript:alert()、javas%0dcript:alert()。这些特殊字符在href中不会破坏原有的代码执行。

因为这里直接在输入框输入url编码的数据会被再次编码,所以我们在url直接提交,使用%0a(换行符)隔开

3.提交成功后,当鼠标指向“友情链接”,可以看到左下角出现了我们的JavaScript伪协议代码,点击后就会运行代码。

法二:html转换

1.

2.将javascript:alert(1)进行转换

javascript:alert(1)

3.此时需要带入输入框

Less - 9:

1.查看源代码可知,输入的必须含有http://

2.根据上一题的payload可做如下构造

javascrip%0at:alert('xss')<!--http://-->
javascrip%0at:alert('xss')//http://
javascrip%0at:alert('xss')/*http://*/

 

Less - 10:

1.查看源代码,可能有隐藏的表单,尝试提交t_link、t_history、t_sort变量,t_sort变量返回在了html的value中,但是过滤了尖括号

2.构造payload,点击按钮即可

&t_sort=click~~~" type="button" onclick="javascript:alert(1)  

XSS - Labs 靶场笔记(上)的更多相关文章

  1. XSS - Labs 靶场笔记(下)

    Less - 11: 1.观察界面和源代码可知,依旧是隐藏表单 2.突破点是 $str11=$_SERVER['HTTP_REFERER']; (本题为HTTP头REFERER注入) 3.因此构造pa ...

  2. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  3. sqli-labs 靶场笔记

    sqli-labs 靶场笔记 冲冲冲,好好学习 2020年1月12号 先来点铺垫 分类: 按照请求方法分类: 1.Get型注入:注入参数在get的参数里. 2.POST型注入:注入参数在POST的参数 ...

  4. pyqt样式表语法笔记(上) --原创

    pyqt样式表语法笔记(上) pyqt QSS python 样式表 因为软件课设的原因开始学习使用pyqt4,才发现原来它也有样式表,而且语法跟css基本相同,而且一些功能实现起来感觉比js要简单方 ...

  5. Typora笔记上传到博客

    Typora笔记上传到博客 Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版.它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML.PDF 以及本 ...

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

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

  7. CSRF漏洞实战靶场笔记

    记录下自己写的CSRF漏洞靶场的write up,包括了大部分的CSRF实战场景,做个笔记. 0x01 无防护GET类型csrf(伪造添加成员请求) 这一关没有任何csrf访问措施 首先我们登录tes ...

  8. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  9. Bootstrap学习笔记上(带源码)

    阅读目录 排版 表单 网格系统 菜单.按钮 做好笔记方便日后查阅o(╯□╰)o bootstrap简介: ☑  简单灵活可用于架构流行的用户界面和交互接口的html.css.javascript工具集 ...

随机推荐

  1. numpy和pandas-数据分析模块

    应用:1.数据分析 2.深度学习 3.机器学习 运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, 是 numpy 的升级版本. 消耗资源少:采用 ...

  2. C# Attribute特性 泛型<T> 方法的out ref this(扩展方法) Equals与==

    out ref out和ref的使用场景其实不一样.out适合在方法内返回一个额外的结果参数,而ref适合直接改变一个在方法外面的值,方法改变外部就改变,无需重新定义接住返回值再使用. out可以在方 ...

  3. C# List的并集、交集、差集

    并集---Union 集合的并集是合并两个集合的所有项,去重,如下图所示:   List<int> ls1 = new List<int>() { 1,2,3,5,7,9 }; ...

  4. ReentrantLock锁-CAS与阻塞

    ReentrantLock锁 ReentrantLock通过原子操作和阻塞实现锁原理,一般使用lock获取锁,unlock释放锁 lock的时候可能被其他线程获得所,那么此线程会阻塞自己,关键原理底层 ...

  5. vue3.0自定义指令(drectives)

    在大多数情况下,你都可以操作数据来修改视图,或者反之.但是还是避免不了偶尔要操作原生 DOM,这时候,你就能用到自定义指令. 举个例子,你想让页面的文本框自动聚焦,在没有学习自定义指令的时候,我们可能 ...

  6. Tomcat启动web项目静态页面中文乱码问题解决

    1 首先查看静态页面在编辑器中是否正常,  如果是eclipse ,需要设置一下项目编码格式为utf-8, 如果是idea , 一般会自动识别, 也可以自己手动检查一下, 检查html上面是否有    ...

  7. java 反射给字段重新赋值

    1.获取实体的所有字段,遍历 2.获取字段类型 3.调用字段的get方法,判断字段值是否为空 4.如果字段值为空,调用字段的set方法,为字段赋值 Field[] field = model.getC ...

  8. 利用Comparable接口实现对对象数组的排序

    Arrays 类中的sort方法承诺可以对对象数组进行排序,但是需要对象所属的类实现Comparable接口 任何实现Comparable接口的对象都需要实现该方法 并且在Java SE 5.0之前该 ...

  9. JavaSwing 船只停靠管理可视化(二)

    JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwin ...

  10. MongoDb学习(五)---gridfs --http文件下载

    现在网上的文章都是用的低版本的jar包,而最新的jar包,下载的方法进行了改变.在网上也没找到好的方法.就用原生的方法进行下载, 我也不知道对不对.反正可以下载了.就先这样吧.后期准备还是用低版本的开 ...