File Upload

Extensions

PHPASPJspPerlColdFusionNodeJS

.php

.asp

.jsp

.pl

.cfm

.js

.php2

.config

.jspx

.pm

.cfml

.json

.php3

.ashx

.jsw

.cgi

.cfc

.node

.php4

.asmx

.jsv

.lib

.dbm

.php5

.aspq

.jspf

.php7

.axd

.wss

.pht

.cshtm

.do

.phpt

.cshtml

.action

.phtm

.rem

.phtml

.soap

.phps

.vbhtm

.phar

.vbhtm

.hphp

.asa

.module

.cer .shtml

.inc

.shtml

.ctp

Filter Bypass

  1. Uppercase letters: .pHp, .pHP5, .PhAr

  2. Double extension:

    • .png.php

    • .gif.php

  3. Null byte:

    • .php%00.gif

    • .php\x00.gif

  4. Special chars:

    • file.php%20

    • file.php%0a

    • file.php%0d%0a

    • file.php/

    • file.php.\

    • file.php....

  5. Content-Type:

    • Content-Type : image/gif

    • Content-Type : image/png

    • Content-Type : image/jpeg

  6. Magic numbers:

    • GIF: GIF8;

    • PNG: \x89PNG\r\n\x1a\n\0\0\0\rIHDR\0\0\x03H\0\xs0\x03[

    • JPG: \xff\xd8\xff

References

https://book.hacktricks.xyz/pentesting-web/file-upload

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Upload%20Insecure%20Files

Last updated