From 4e89936d46e500be3d32e8c80d7d029945499a01 Mon Sep 17 00:00:00 2001 From: Adam Muntner Date: Tue, 15 Sep 2015 22:57:00 -0400 Subject: [PATCH] formatting --- attack/file-upload/README.md | 98 +++++++++++++++++------------------- 1 file changed, 46 insertions(+), 52 deletions(-) diff --git a/attack/file-upload/README.md b/attack/file-upload/README.md index 70c6c2a..95f2640 100644 --- a/attack/file-upload/README.md +++ b/attack/file-upload/README.md @@ -1,74 +1,68 @@ -# File Upload Fuzzfiles- File Name Filter Bypass Notes +File Upload Fuzzfiles- File Name Filter Bypass Notes see: http://cwe.mitre.org/data/definitions/434.html -# kinds of file upload verifications: -# content-type -# filename extension verificationi (whitelist, blacklist) -# file content checking -# client side, ha ha ha +* kinds of file upload verifications: + * content-type + * filename extension verificationi (whitelist, blacklist) + * file content checking + * client side, ha ha ha File notes: -alt-extensions-asp.fuzz.txt -alt-extensions-coldfusion.fuzz.txt -alt-extensions-jsp.fuzz.txt -alt-extensions-perl.fuzz.txt -alt-extensions-php.fuzz.txt -# Alternative ways of expressing file extensions that will be interpreted correctly by the target filesystem/app and can be used to bypass blacklist filters +**alt-extensions-asp.fuzz.txt** +**alt-extensions-coldfusion.fuzz.txt** +**alt-extensions-jsp.fuzz.txt** +**alt-extensions-perl.fuzz.txt** +**alt-extensions-php.fuzz.txt** +Alternative ways of expressing file extensions that will be interpreted correctly by the target filesystem/app and can be used to bypass blacklist filters -file-ul-filter-bypass-commonly-writable-directories.fuzz.txt -# File directory names that experience has shown are often writable +**file-ul-filter-bypass-commonly-writable-directories.fuzz.txt** +File directory names that experience has shown are often writable -file-ul-filter-bypass-microsoft-asp-filetype-bf.fuzz.txt -# {ASPSCRIPT}gets regex replaced with the shell or other file you are trying to upload, {EXT} should be brute-forced with payloads from discovery/filename-bruteforce/file-extensions/, since some file upload types may be allowed that are not listed. +**file-ul-filter-bypass-microsoft-asp-filetype-bf.fuzz.txt** +``` {ASPSCRIPT} ``` gets regex replaced with the shell or other file you are trying to upload, {EXT} should be brute-forced with payloads from discovery/filename-bruteforce/file-extensions/, since some file upload types may be allowed that are not listed. -file-ul-filter-bypass-microsoft-asp.fuzz.txt +**file-ul-filter-bypass-microsoft-asp.fuzz.txt** # this file contains a number of common predictable values. Add more if other file types are allowed, or use the filetype-bf version of this fuzzfile - {ASPSCRIPT} gets regex replaced. -file-ul-filter-bypass-ms-php.fuzz.txt -file-ul-filter-bypass-x-platform-php.fuzz.txt -# php on microsoft, cross-platform. use both on ms. -# Use exiftool http://www.sno.phy.queensu.ca/~phil/exiftool/ to create a .jpg image with the meta comment field set to: -# ----- -# -#----- -# then regex replace {PHPSCRIPT} with the name of your .jpg file in the target directory +**file-ul-filter-bypass-ms-php.fuzz.txt** +**file-ul-filter-bypass-x-platform-php.fuzz.txt** +php on microsoft, cross-platform. use both on ms. + +Use exiftool http://www.sno.phy.queensu.ca/~phil/exiftool/ to create a .jpg image with the meta comment field set to: +``` ``` +then regex replace ``` {PHPSCRIPT} ``` in the fuzzfile payload with the name of your .jpg file in the target directory + +**invalid-filenames-microsoft.fuzz.txt** +Useful for causing error messages that contain an absolute drivepath, such as if you don't know where the file uploader puts files +regex replace ``` {EXT} ``` with allowed extension type + +**file-ul-filter-bypass-x-platform-generic.fuzz.txt** +These might bypass a file upload blacklist but be written in a way that leaves them executable because of the filetype +regex replace ``` {PHPSCRIPT} ``` with your script name -invalid-filenames-microsoft.fuzz.txt -# Useful for causing error messages that contain an absolute drivepath, such as if you don't know where the file uploader puts files -# regex replace {EXT} with allowed extension type +**invalid-filenames-linux.fuzz.txt** +invalid filenames under linux, and since there aren't too many of those (there's one), other filepaths that may cause problems. these can be used to attempt to cause an error condition during file upload bypass attempts which might reveal an absolute path. Useful if you're not sure where your files are landing. -file-ul-filter-bypass-x-platform-generic.fuzz.txt -# These might bypass a file upload blacklist but be written in a way that leaves them executable because of the filetype -# regex replace {PHPSCRIPT} with your script name +**invalid-filesystem-chars-microsoft.fuzz.txt** +list of invalid characters for windows filesystem - these can be used to attempt to cause an error condition during file upload bypass attempts which might reveal an absolute path. Useful if you're not sure where your files are landing. fuzz these into a filename during upload attempts +**Addtl Tips:** -invalid-filenames-linux.fuzz.txt -# invalid filenames under linux, and since there aren't too many of those, other filepaths that may cause problems. # these can be used to attempt to cause an error condition during file upload bypass attempts which might reveal an absolute path. Useful if you're not sure where your files are landing. +**For mod_cgi Server Side Include upload attacks:** +``` ``` +or, on Windows -invalid-filesystem-chars-microsoft.fuzz.txt -# list of invalid characters for windows filesystem - these can be used to attempt to cause an error condition during file upload bypass attempts which might reveal an absolute path. Useful if you're not sure where your files are landing. -# fuzz these into a filename during upload attempts +``` ``` +Sometimes you can overwrite .htaccess in an upload folder on Apache httpd, if so, +try setting jpg mimetype handler to executable. If you can set the target directory, try to fuzz the +list of all dirs you've enumerated on the servers, and try the commonly writable directory fuzzfile. +** example .htaccess entry that sets mime type .jpg to be executable:** -## Addtl Tips: + ``` AddType application/x-httpd-php .jpg ``` -# For mod_cgi Server Side Include upload attacks: - - -# or, on Windows - - - -# Sometimes you can overwrite .htaccess in an upload folder on Apache httpd, if so, -# try setting jpg mimetype handler to executable. If you can set the target directory, try to fuzz the -# list of all dirs you've enumerated on the servers, and try the commonly writable directory fuzzfile. - -# example .htaccess entry that sets mime type .jpg to be executable: - ----- - AddType application/x-httpd-php .jpg - -----