环境自己搭建~~好嚣张:
1.http://127.0.0.1:8024/xss/level1.php?name=test 这是URL 看到后面name有参数传递,不多想直接尝试xss。
没有任何过滤。
payload :http://127.0.0.1:8024/xss/level1.php?name=
2.http://127.0.0.1:8024/xss/level2.php?keyword=test 和上题差不多的URL 直接换参数
发现没有成功,那就只有看源代码了。看看做了什么过滤之类的
发现payload在value中没有生效,构造payload : " > id=" 使用(">)把前面的闭合 然后在后面可以加一个空id 或者payload : " > // 最后加//把后面的双引号注释掉即可。:
或者使用payload : " οnclick=alert(1) id=" 然后点击一下文本框也可以
3.直接在文本框输出尝试,发现不能成功。然后查看源代码:
直接构造payload :单引号闭合 ,使用on事件。 payload:' οnclick=alert(1) // 这里对<>做了过滤。
4. 直接插入尝试,失败。查看源代码:
发现对<>没有了 做了转译。直接构造payload :" οnclick=alert(1) //
或者使用 onmouseover 函数 ,payload : " οnmοuseοver=alert(1) //
5. 直接插入尝试,失败。查看源代码:
出来双引号还过滤了 script 变成了 scr_ipt 。使用on事件尝试,发现也过滤了on事件, on 变成了 o_n。
这里利用Javascript伪协议 直接构造payload:" > //
6.
出来双引号还过滤了 script 变成了 scr_ipt 。使用on事件尝试,发现也过滤了on事件, on 变成了 o_n。 使用Javascript伪协议 发现 href 变成了 hr_ef 。src 也过滤了。
构造payload 尝试绕过,大小写。payload: " Onclick=alert(1) //
7..
直接把script 给过滤了。尝试双写绕过。payload: "> alert(1)
8.直接构造简单payload 进行尝试。发现没有任何反应,查看源代码:
发现2个输出点,之前的实验也有2个输出点,不过好尝试没有细说。这里不好绕过。
第一个输出点,<>给编码转换了。然后进行不带<>的payload尝试,还有一些绕过,发现没有成功。直接尝试第二个输出点。
第二个输出点,直接看到 href 直接想到JavaScript 伪协议 尝试。
发现也被过滤 javascript变成javascr_ipt ,尝试大小写绕过,发现不可行。然后想到tab绕过。
构造payload:javascr ipt:alert(1) tab制表符 %09 发下可以绕过。
9.见框就插,构造payload。查看源代码
发现也有2个输出点。在第一个输出点构造payload。各种payload都显示链接不合法。 href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段,猜想是否必须有超文本传输协议http:// ,然后进行尝试。
发现猜想正确,没有返回链接不合法。然后与JavaScript 相结合, 构造payload: javascript=alert(1)//http:// 第一个//是为了注释掉后面的http://
10. 发现没有文本框可以插入,但是url有参数传递。直接简单payload测试。发现没有任何反应。