xss-labs 通关笔记

靶场地址:传送门

概述:
XSS(跨站脚本)概述
Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
1.反射性XSS;

反射型XXS是一种非持久性的攻击,它指的是恶意攻击者往Web页面里插入恶意代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的目的。这里插入的恶意代码并没有保存在目标网站,需要引诱用户点击一个链接到目标网站的恶意链接来实施攻击。
原文链接:https://www.jianshu.com/p/a15c411e4c92

**2.存储型XSS;**

什么是存储型XSS:
攻击者事先将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。这就意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本,因此储存型XSS的危害会更大。因为存储型XSS的代码存在于网页的代码中,可以说是永久型的。
原文链接:https://blog.csdn.net/weixin_44720762/article/details/89736508

**3.DOM(Document)型XSS;**

先以一张w3c的图来说明,到底什么是dom:
在这里插入图片描述

dom就是一个树状的模型,你可以编写Javascript代码根据dom一层一层的节点,去遍历/获取/修改对应的节点,对象,值。了解了这么一个知识点,你就会发现,其实dom xss并不复杂,他也属于反射型xss的一种(domxss取决于输出位置,并不取决于输出环境,因此domxss既有可能是反射型的,也有可能是存储型的),简单去理解就是因为他输出点在DOM。dom - xss是通过url传入参数去控制触发的)
链接:https://www.jianshu.com/p/190dedd585f2

总之:就是向目标注入恶意的javascript代码。目前只能做出这样浅薄的思考。

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

level 1

注意观察我们可以发现这几个点
在这里插入图片描述

在这里插入图片描述
这是一个GET交互的xss漏洞
URL的name传参就是我们的注入点,构造payload
将test 替换为 达到注入的目的进入下一关。
在这里插入图片描述

level2

在这里插入图片描述

有输的地方就有可能存在注入,
输入一些值然后用选取工具观察一下,发现被填入了
input 的value值里面
在这里插入图片描述
对其进行闭合绕过
payload:">

level3

和level2 一样需要构造闭合
在这里插入图片描述
但是一顿操作之后发现搞不定,查看一下源码
在这里插入图片描述

发现唯一显示$str的地方都做了html实体化,也就是过滤了<>
这个时候我们可以借助点击事件onclick
onclick事件会在元素被点击时发生
鼠标其他事件

用 ’ 闭合前面的单引号 用 // 注释后面的代码

构造payload:** ’ οnclick=alert(1) //**
经过处理后,在代码中的情况:
在这里插入图片描述
因为此点击事件是包含在input输入框中的,所以我们在输入框中点击鼠标就会触发事件
在这里插入图片描述

level4

输入<>测试发现被过滤了
在这里插入图片描述
但是点击事件不需要大于小于号,这里需要闭合value
构造payload: ” onclick = alert(1) // ,然后点击输入框触发点击事件

level 5

尝试闭合注入
在这里插入图片描述
行不通script关键字被替换了

在这里插入图片描述
也被替换

尝试大小写饶过
" OnCliCk=alert(1)//
" 均被过滤
进行HTML编码:" οnclick=alert(1) //
没有解析
在这里插入图片描述

查看下源码
在这里插入图片描述大于小于号没有被过滤,
这里可以构造a标签的伪协议">
点击链接即可促发
在这里插入图片描述

level6

在这里插入图片描述
这道题不仅对上一道题的内容进行了过滤,还过滤了href关键字
但是没有对大小写进行过滤
构造payload:">

level7

对关键字进行测试
script :直接全部白给
onclick: on也不知所踪😒
大小写也不管用
复写试试::>alert(1)

在这里插入图片描述

level8

发现添加后会传到此位置
在这里插入图片描述
这里我们尝试构造a标签
javascript:alert(1)
在这里插入图片描述
行不通,
尝试大小写双写,也不行
尝试将javascript进行HTML编码
payload:
javascript :alert(1)
搞定在这里插入图片描述

注:对函数名进行编码后,解析出来的只是html的普通字符;

如:对,l ,a标签进行HTML编码
在这里插入图片描述
运行结果
在这里插入图片描述
因为这些函数方法,是底层构造好的,二,script,a…是这些方法,函数名,进行解析,时是不能对应哪些编码后的字符的

level9

添加链接:https://www.baidu.com
居然失败了
在这里插入图片描述
换http://www.baidu.com试试
可以跳转
在这里插入图片描述
经过测试应该有判断输入是否含有http,否则就跳转
在这里插入图片描述
看下源码:

在这里插入图片描述
这里对输入进行了一连串的过滤

在这里插入图片描述
然后通过strops函数查询输入的有没有http://这个字符串,
没有的话直接跳转的恶心人的网页
对javascript的t进行HTML编码;
构造payload:javascript:alert(1)//http://
搞定
在这里插入图片描述

level10

在这里插入图片描述
看来这是一个get方式的注入
输入

在这里插入图片描述修改页面元素然后点击按钮触发弹窗

11,12,13题都可用此方法解答,就不赘述了

level14

在这里插入图片描述
这关需要请求远程站点资源,但好像出问题了,好吧,脚步不能停。
在这里插入图片描述
点击也没用,直接修改url

level15

在这里插入图片描述
payload:?name=test
好吧又是转载的附上老哥链接:https://www.cnblogs.com/Zh1z3ven/p/12971361.html

level16

在这里插入图片描述
不知道为什么我的不显示了,下面,装载一位老哥的博客。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
摘自:https://www.zhaosimeng.cn/writeup/119.html

二级目录 17-20

靶场不知道怎么了,无法接收,传入的参数,下面给出一位老哥的挺详细的
传送门

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值