sqlmap读取与写入文件
–file-read :从后端的数据库管理系统文件系统读取文件
–file-write:编辑后端的数据库管理系统文件系统上的本地文件(从本地写入)
–file-dest :后端的数据库管理系统写入文件的绝对路径 (写入目标路径)
可以用以上几个命令对SQL注入后的系统文件进行读写,但是前提条件是需要有可读可写的权限并且为dba权限,否则无法成功进行读写操作。
以DVWA为例,在kali下搭建DVWA进行读取与写入文件操作。
读取文件:
查看了PHPinfo里的相关信息,使用-file-read命令进行文件读取。
sqlmap -u”http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#”–cookie “security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme”-file-read “/etc/php/7.3/apache2/php.ini”
文件读取成功后,会在显示的信息中最后有提示提示,要进入到sqlmap输出的相关路径下才能读取的相关的信息内容。
写入文件:
这里使用DVWA的命令执行查看了路径后,将文件写入/var/www/html/vulnerabilities/exec此路径下,使用-file-write,-file-dest命令,发现写入成功。
sqlmap -u”http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#”–cookie “security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme”-file-write “/usr/test/1.txt” -file-dest “var/www/html/vulnerabilities/execl/1.txt”
(use路径下创建的1.txt内容)
(写入成功后显示1.txt内容)
Sqlmap上传shell (–os-shell)
–os-shell的执行条件有三个:
(1)网站必须是root权限
(2)攻击者需要知道网站的绝对路径
(3)GPC为off,php主动转义的功能关闭
首先使用 –is-dba命令查看是否为管理员,若不是,则无法使用–os-shell命令。如下图所示,显示为true是管理员,不是管理员显示为false。
接下来使用 –os-shell命令,存在注入点后,会提示需要选择语言,这里选择是根据系统使用的语言进行选择,搭建的DVWA是php,所以这里选择了4.
网站的语言选择完成后会对路径进行选择,若知道网站绝对路径可以选择2,也可以选择1常用路径。
路径选择完成后,在写入时却提示404,如下图所示。
回过头再去查看其它设置是否出现问题。前面使用-is-dba,显示是true,然后在使用命令current-user查看用户,查看到用户为dvwauser。在最初设置时系统也提示过Mariadb默认不能使用root权限连接数据库,但是也使用grant all语句给dvwauser赋予了所有权限,写入路径也设置了可读写的权限,但是一直未写入成功,最后还是使用xampp进行尝试。(这里怀疑过是否因为是root用户的问题或者数据库版本的问题,毕竟xampp写入成功)
查看用户为dvwauser:
赋予dvwauser用户权限:
无奈之下,使用Xampp搭建DVWA尝试时,这次发现成功写入了。
使用xampp进行写入前,用current-user查看了用户,如下图所示,显示为root,使用-is-dba显示为true。
写入成功后,访问写入文件的路径,这里存在一个上传点,可以进行上传,我这上传了一个php文件,使用蚁剑进行连接成功。
来源:freebuf.com 2020-03-05 21:58:49 by: 凯信特安全团队
请登录后发表评论
注册