load-labs 的gif、JPEG、png三种文件格式的文件头绕过实验, 网上使用的实验环境略有不同,有的编号是 Pass-13,有的编号是Pass-14, 请注意,这个实验成功需要2个必要条件: 1、图片马 2、文件包含漏洞, 也就是说,这个实验需要图片马结合文件包含漏洞一起才能成功,缺一不可,
相比,大家跟着教程做,gif格式的文件应该能轻松完成,唯一需要注意的是,写入 GIF 89A 的时候,要和 content-type 隔一行 , 本文着重要说明的是,JPEG和png两种格式的操作流程,
网上很容易查到,gif‘、JPEG、png的文件头,
GIF GIF 89A
JPEG(JPG) FFD8FF
PNG 89504E87
但是,使用gif格式的方法,将JPEG或者png格式的文件头加入到 request包里的时候,response却提示错误, 以png 文件头为例 这说明 写进request中的 pnf文件头89504E87没有被正确识别,服务器把这个文件头只是当成了普通的字符了,
解决的办法,就是利用burp suite 中proxy代理标签页中的 request 的十六进制 Hex 页面来解决服务器的识别问题, 1、先看一下png的这个文件头一共有几个字节,89 50 4E 87,共四个字节(16进制,2个字符表示一个字节【字符范围 0~9、A、B、C、D、E、F】), 所以,我们使用 Hex 一共要修改4个字节的 信息, 注:为什么不用repeat标签页呢?因为repeat标签页不能正常显示所有的 16进制位,所以这里只能回到proxy标签页,用它的Hex页了 2、直接上流程图,
输入4个+的目的是,待会在使用Hex页面编辑 16进制代码时候,容易找到+的位置,因为+ 的十六进制值是 2b , 好认、好找、好识别, 打开Hex页面,一下就能看到4个二逼, 将 PNG 89504E87的文件头替换 4个2b, 然后 转发,点击 forward 可能得多点几次,才能收到最终的 response 页面 png 格式的图片马上传 ,成功 切换到 实验的web页面,点击 文件包含漏洞链接,在弹出的文件包含漏洞页面将上一步复制的内容拼接到地址栏中,形成目标链接
地址拼接好之后,别着急回车,先去把刚才的 用到的burp suite 的proxy 的拦截关闭 intercept off 关闭burp suite 的拦截后,在刚才的拼接地址页面,回车,打开链接,
拿着拼接的地址,去菜刀里,可以正常管理站点,实验成功。
几个需要注意的地方, 1、暂时代替文件头的四个+挨着 一句话木马,但是与 content-type 要隔一行, 2、用+的目的是,在接下来的Hex页面里容易找到+的位置,+的十六进制值是2b, 3、在Hex页面中,找到刚才4个加号的位置,并使用png的文件头89504E87,替代这4个+, 4、替换后,forward,可能得多点几次,直到收到 response里的上传成功的消息,并复制其中的上传的文件名的相对路径,从upload开始复制, 5、打开实验页面的’文件包含漏洞‘链接,用复制的文件相对路径拼接地址栏中的地址,注意拼接格式?file=./ 6、拼接地址后,不要急着点回车,先去把burp suite 的 拦截关闭了,再点回车, 7、跳转的页面如果没有看到一句话木马,就说明被服务器成功执行了,然后拿着这个最终的拼接地址就可以使用菜刀管理站点了。
march the 03rd 2022 Thursday
|