文件上传漏洞之pikachu靶场实操(全网最详细最全面)

文件上传漏洞

为什么会出现文件上传漏洞:

上传文件的时候,如果服务器端脚本语言,未对上传的文件进行严格的验证和过滤,就有可能上传恶意的脚本文件,从而控制整个网站,甚至是服务器。

文件上传漏洞的危害:

网站被攻击者控制并对文件增删改查,执行命令,链接数据库进行操作

如果服务器长久未更新,可以利用各种手段提权,导致服务器沦陷

同服务器的其他网站沦陷(旁站)

存在文件上传漏洞的前提:

1. 网站有上传文件的功能

2. 上传到的目录能够解析脚本语言

3. 能够访问到上传的文件(即能知道上传文件后的路径)

文件上传漏洞的实操演示-pikaqiu:

Pikaqiu文件上传第一关:

告诉我们文件不符合规范,但是是通过js代码弹窗告诉我们的.而对于绕过前端检测,我们应该考虑直接先绕过前端检测,然后再通过BP去抓包获得通过前端检测后的数据包,然后再去进行操作.

整体的一个思路是:先把我们的PHP文件的后缀名改为jpg或者其他可以通过前端检测的图片格式.等通过前端检测后,再通过抓包把我们修改的后缀名再改回到PHP,因为服务器是通过后缀名来判断你的文件格式

在点击之前打开BP抓包.然后进行修改后缀名的操作

修改后缀名

然后放开BP,文件上传成功,然后再访问该文件,检查是否成功

Pikaqiu文件上传第二关:

我们发现当我们上传一个不是以上格式的图片,就会告诉我们只能是这几种格式才能上传,否则都不能成功.基于此我们猜测是否有可能是白名单过滤,即只有这几种的后缀名的图片才能上传,其他的都不行.为了验证我们的猜想,我们随机创造一个后缀名,来检查是否能成功上传.

仍然不成功,证明是白名单过滤,基于此,我们的绕过思路与第一关一致,先改后缀名,再抓包,去进行修改

此次所用文件与仍然为第一关所用文件

修改后缀名

检查是否成功,成功.说明绕过

Pikaqiu文件上传第三关:

这一关经过检测,先改后缀名,再抓包改后缀名的方法已经无法实现绕过,且只要是其他文件改为图片格式的图片都无法通过,它会告诉你这是一个假文件.基于此,我们的所有方法几乎都无法绕过.

这时我们就要考虑当一个漏洞无法达到我们的目的时,进行漏洞联动,使用其他的漏洞一起去协助我们达到我们的目的.pikaqiu当中有一关是关于包含文件的,即下面的图片.

这时我们就要考虑到一个函数的特殊性,include

只要是在php文件当中使用了include,include所包含的文件都会当成php代码进行执行,即使不是php文件.

基于此,我们应该把php的代码写入到图片当中,即把图片以记事本或者其他方式打开,然后把php代码写进去,然后通过文件上传漏洞进行上传,再通过另外一个漏洞来打开该文件.

这里提供图片加php代码上传绕过的三种方式:

  1. 直接把php代码写入到一个真的图片(即本就是图片)当中
  2. 在php文件前面加上GIF89a这一串代码,再把php文件转为图片格式上传,可以绕过."GIF89a" 是 GIF 图像格式的标识符,用于标识一种特定的GIF文件格式。
  3. 通过此命令进行写入copy /b 1.png + 1.php 2.png   ,该命令在cmd当中写入,但要确保在写入的当前目录下,存在1.png和1.php这两个文件.该命令的含义是将1.php与1.png这两个文件以二进制的方式合并成一个2.png.

上传成功,再通过include漏洞进行引用,从而触发我们的代码

注意所引用的文件位置要写对,否则无法成功

所有的php内容均可以替换为木马内容,使用蚁剑进行连接,进而控制服务器.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值