php审计--任意文件上传配合目录文件包含getshell

本文探讨了PHP应用中常见的安全问题,即任意文件上传配合目录文件包含导致的getshell风险。文章指出,在源码审计中,这种漏洞成因相同,例如SQL注入可能引发文件注入。通过readfile和include函数展示了目录穿越的原理,并提出了修复措施,如避免使用文件名作为变量传输。此外,还讨论了文件包含功能、URL编码绕过验证、任意文件删除等攻击手段,以及PHP文件上传的相关配置和处理函数。
摘要由CSDN通过智能技术生成

在黑盒中 源码 数据库配置文件都是很不好找的,,但源码审计不同
所有的漏洞,成因都是相同的,但我们自以最基础的作为代表,

这里文件上传这个点可以配合文件包含一块利用,当某个站对数据处理不严时,存在sql注入,那也可能会有文件注入,

常见的文件目录穿越配合文件包含实现getshell
演示目录穿越的原理,这里通过readfile函数读取文件,注意file变量里有个正斜杆

<?php
if(isset($_GET['file'])){
   
    readfile("file/".$_GET['file']);

}

第一种情况,读取同文件夹下的1.txt
在这里插入图片描述
然后我们利用目录阶乘符…/ 目录穿越到file文件夹下的1.txt,达到目录穿越
修复措施: 不使用文件名作为变量传输。
在这里插入图片描述
同时,这里写一个有文件包含功能点的php

 <?php

$file = $_GET['name'];
if(isset($file)){
   
    include ($file);

}

通过include函数包含同文件夹下的phpinfo,

在这里插入图片描述
可以看到可以本地包含,,这时候,,如果allow_url_include=on,我们可以尝试利用目录穿越和文件包含写入shell到我们可以访问的地方,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ECHO::

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值