文件上传漏洞之pikachu靶场实操(全网最详细最全面) | 您所在的位置:网站首页 › 文件上传绕过方式都有哪些方法 › 文件上传漏洞之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代码上传绕过的三种方式: 直接把php代码写入到一个真的图片(即本就是图片)当中在php文件前面加上GIF89a这一串代码,再把php文件转为图片格式上传,可以绕过."GIF89a" 是 GIF 图像格式的标识符,用于标识一种特定的GIF文件格式。通过此命令进行写入copy /b 1.png + 1.php 2.png ,该命令在cmd当中写入,但要确保在写入的当前目录下,存在1.png和1.php这两个文件.该命令的含义是将1.php与1.png这两个文件以二进制的方式合并成一个2.png.上传成功,再通过include漏洞进行引用,从而触发我们的代码 注意所引用的文件位置要写对,否则无法成功 所有的php内容均可以替换为木马内容,使用蚁剑进行连接,进而控制服务器. |
CopyRight 2018-2019 实验室设备网 版权所有 |