Pikachu漏洞平台---XSS(Cross-Site Scripting) by L0st

Pikachu Vul

XSS

1.反射型XSS(get)
随便输入,可以发现没有任何过滤,只是限制了输入字符的长度,F12修改一下即可

2.反射型XSS(post)
可以看到是一个用户登陆窗口,username和pwd都不知道,看看提示:

为了能够让你练习xss获取cookie,我们还是登陆一下,账号admin/123456
登上去以后发现还是没有任何过滤,直接构造payload:




3.存储型xss
没过滤,直接搞

4.DOM型XSS
初步观察,点击 click me! 后会出现 what do you see? 的链接按钮,其指向是 当前目录/you_input 审查元素时发现onclick后会执行函数 domxss() ,其作用是读取input的值并将其拼接到新创建的link节点中,源码如下:


                    function domxss(){
                        var str = document.getElementById("text").value;
                        document.getElementById("dom").innerHTML = "what do you see?";
                    }
                    //试试:'>
                    //试试:' onclick="alert('xss')">,闭合掉就行

5.DOM型xss-s
和4同理,直接搞

6.xss之盲打
没有任何过滤,提交以后访问 /admin.php 用户名admin,密码123456,打开就弹窗。。。

7.xss之过滤
说是有过滤,随便输测试一下:

im a lil horny.

成功了,
试试


可以看到被过滤了,换个轮子:


成功弹窗了...看下过滤语句:

$message=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/', '', $_GET['message']); //使用正则将 

输入被拼接到了脚本中,尝试闭合语句然后添加自己的语句上去:

';alert(document.cookie)//

成功弹出cookie

这里将输入动态的生成到了js中,形成xss,javascript里面是不会对tag和字符实体进行解释的.

你可能感兴趣的:(Pikachu漏洞平台---XSS(Cross-Site Scripting) by L0st)