PiKaChu通关 XSS漏洞
一、反射型(get)
如下图中,我们输入了20个1,发现不能再输入了,我们猜测是有字数限制:
F12找到输入框,发现我们输入的上限只有20个字符,删除或修改为100即可:
payload:
<script>alert('拈花倾城')</script>
弹窗如下图:
二、反射型(post)
右上角的提示中有登陆的账号密码
登陆成功之后我们发现界面和get型是一样的,但是本质是不同的
1. GET方式中, 攻击代码是直接暴露在URL中的 2. POST方式参数内容不会出现在URL中
搭建环境
pikachu靶场自带了一个xss后台, 地址为:
\pikachu\pkxss\index.php
ps: pkxss目录下还有一个inc/config.inc.php文件需要配置, 配置完成之后, 访问上面地址, 初始化数据库:
配置成功之后访问后台:
登陆成功之后,界面有三个模块,我们选择cookie
这里是存放受害人cookie的地方:
首先修改xss后台下的pkxss/xcookie/cookie.php文件,将IP地址改为漏洞服务器的地址:
诱使用户点击攻击网址:
127.0.0.1是攻击者收集受害用户cookie的服务器地址(也是本地), (需要进行URL编码才能访问)
访问之后, 自动重定向首页, (是为了不让用户察觉被攻击的事实), 如果重定向其他地址, 用户就会知道被攻击了:
如下图,存放着两个cookie的信息:
三、存储型xss
我们发现是一个留言板,留言板将我们输入的内容写到网页中, 并且存储到网站的数据库, 当利用xss漏洞时, 那么受到的攻击将是持久化的,我们再次访问也是可以看到的:
payload:
<script>alert('拈花倾城')</script>
每次当不同的用户访问这个留言板时, 都会触发这个js代码, 因为是存储在数据库里(存储型)。