sqli-labs靶場通關筆記:第46-53關 order by注入

目錄

第46關 order by注入

第47關 '閉合的order by注入?

第48關 無報錯回顯的數字型order by注入

第49關 無報錯回顯的'閉合型order by注入

第50關 基于order by的堆疊注入

第51關 '閉合的報錯注入或堆疊注入

第52關 數字型盲注或堆疊注入

第53關 '閉合的盲注或堆疊注入


第46關 order by注入

輸入?sort=1和?sort=2看一下頁面顯示。發現返回的數據相同,但是順序不同,猜測可能是利用了order by排序語句。當sort=1時是根據第一列的字段id來排序,sort=2時根據username字段排序。

?在參數后面加上單引號,回顯了報錯信息,那么使用報錯注入試試吧。

第47關 '閉合的order by注入?

和上關的區別是使用了單引號包裹,要注意的是,這會導致 SQL 語句將$id當作一個字符串常量來處理,而不是列名或排序索引。由于字符串常量沒有實際的排序意義,MySQL 會忽略這個排序條件,通常會按照表中數據的默認順序返回結果,也就是插入數據時的順序或者存儲引擎決定的物理順序。所以,無論你輸入什么值,返回的結果順序都不會改變。

第48關 無報錯回顯的數字型order by注入

利用布爾盲注,構造表達式來影響排序結果。

#如果數據庫名長度>5,則按第一列排序,否則按第二列排序;
order by if(length(database())>5,1,2)

這里數據庫名長度是8,大于5會按第一列排序,寫大于10也會按照第一列排序。因為MySQL 優化了常量表達式:當 IF 的兩個分支都是常量時,MySQL 可能認為無論條件如何,排序規則都不變,因此忽略條件判斷。所以應該避免使用常量作為排序鍵,改用與數據相關的表達式。

正確的語法構造是:

#如果條件為真,按 id 列排序,否則按 username 列排序;
order by if(length(database())>5,id,username)

第49關 無報錯回顯的'閉合型order by注入

這關可以利用時間盲注,但是注意點較多。

?sort=1' and if(length(database())<10,sleep(0),sleep(5)) --+

1.將IF判斷設置為,true馬上響應,false延遲響應。因為order by是對結果集進行排序,每一行都會計算一次,所以會導致多次延遲(行數次延遲),而且MySQL在排序時可能會優化,利用sleep函數時頁面會一直處于長時間加載狀態,最終會超過服務器允許的最大響應時間,而被強制終止,返回 500 錯誤。

2.order by 后面不能直接跟and,它的語法結構只接受列名、表達式或數字位置。不過可以在排序表達式里使用包含and的邏輯條件來實現更復雜的排序規則。

3.這條注入語句破壞了原本正常的order by邏輯。原本order by期望的是列名,注入后變成了一個布爾表達式和 sleep 函數的組合,數據庫無法按此進行有效的排序,所以結果可能會是亂序。

第50關 基于order by的堆疊注入

本關使用了mysqli_multi_query函數,那么直接堆疊注入。

?

第51關 '閉合的報錯注入或堆疊注入

第52關 數字型盲注或堆疊注入

第53關 '閉合的盲注或堆疊注入

這三關就是把前面的幾關結合在一起,使其有多種解題方法。

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

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

相關文章

cdh6.3.2的hive使用apache paimon格式只能創建不能寫報錯的問題

前言根據官網paimon安裝教程&#xff0c;看上去簡單&#xff0c;實則報錯阻礙使用的信心。 解決方法原帶的jars下的zstd開頭的包舊了&#xff0c;重新下載zstd較新的包單獨放到每個節點的hive/lib下;然后將hdfs yarn用戶下的mr-framework.tar.gz中的zstdjar包替換成新的版本。重…

【Vue進階學習筆記】實現圖片懶加載

創建Vue項目 首先確保你已安裝Vue CLI&#xff0c;然后創建一個新的Vue 3項目&#xff1a; npm init vuelatest安裝依賴 安裝vueuse/core庫&#xff0c;它提供了useIntersectionObserver組合式API&#xff1a; cnpm install cnpm install vueuse/core創建指令文件夾和文件 在sr…

深入理解 synchronized

深入理解 synchronized 引言&#xff1a;synchronized的核心地位 在Java并發編程中&#xff0c;synchronized關鍵字是實現線程安全的基石。自JDK 1.0引入以來&#xff0c;它經歷了從"重量級鎖"到"自適應鎖"的進化&#xff0c;如今已成為兼顧安全性與性能的…

C語言字符串相關函數

C語言筆記內容提要數組字符串基本操作字符串相關函數綜合案例&#xff1a;學生成績管理系統數組字符串基本操作在用格式化說明符%s進行輸入輸出時&#xff0c;其輸入輸出項均為數組名。但在輸入時&#xff0c;相鄰兩個字符串之間要用空格分隔&#xff0c;系統將自動在字符串后加…

從零開始:用Python庫輕松搭建智能AI代理

為什么要關注AI代理&#xff1f; “Agentic AI”&#xff08;智能代理&#xff09;正在悄然改變我們的工作方式。想象一下&#xff0c;一個AI助手不僅能幫你查航班、訂機票&#xff0c;還能自動安排行程、發郵件、生成日報——就像一個效率極高的“虛擬助理”團隊。 對于測試工…

如何防止GitHub上的敏感信息被泄漏?

如大家所了解的&#xff0c;隨著GitHub的用戶越來越多&#xff0c;GitHub上的敏感信息被泄漏的問題也越來越嚴重。那么如何做&#xff0c;才能防止此類事情發生呢&#xff1f;這值得我們探討。移除并刪除敏感信息當我們發現了歷史 commit 中包含敏感信息后&#xff0c;第一步便…

船舶機械零件的深孔工藝及檢測方法 —— 激光頻率梳 3D 輪廓檢測

引言船舶機械零件中的深孔結構&#xff08;深徑比&#xff1e;15:1&#xff09;直接影響動力系統可靠性&#xff0c;如柴油機缸體深孔、推進軸系潤滑油孔等。此類深孔具有孔徑大&#xff08;φ10 - 50mm&#xff09;、深度深&#xff08;500 - 2000mm&#xff09;、表面質量要求…

論文Review Lidar 3DGS Splat-LOAM: Gaussian Splatting LiDAR Odometry and Mapping

基本信息 題目&#xff1a;Splat-LOAM: Gaussian Splatting LiDAR Odometry and Mapping 來源&#xff1a;ICCV 2025 學校&#xff1a;Sapienza University of Rome 是否開源&#xff1a;https://github.com/rvp-group/Splat-LOAM 摘要&#xff1a;純激光3DGS&#xff01;…

MYSQL:數據庫約束

文章目錄MYSQL&#xff1a;數據庫約束&#xff1a;為你的數據上把“安全鎖”1. 約束的類型概覽2. NOT NULL 非空約束3. DEFAULT 默認值約束4. UNIQUE 唯一約束5. PRIMARY KEY 主鍵約束5.1 自增主鍵 AUTO_INCREMENT5.3 復合主鍵6. FOREIGN KEY 外鍵約束7. CHECK 約束總結MYSQL&a…

網絡數據編碼技術及其應用場景的全面解析

網絡數據編碼技術全景圖?編碼類型??編碼原理??適用層??典型應用場景??優勢??缺陷??曼徹斯特編碼?電平跳變代表數據位&#xff08;高→低1&#xff0c;低→高0&#xff09;物理層10/100M以太網、RFID標簽自同步時鐘帶寬利用率僅50%?4B/5B編碼?4比特映射為5比特物…

RustDesk自建服務器完整部署指南:從零開始到成功連接。成功解決rustdesk報錯:未就緒,請檢查網絡連接

最近需要用到遠程工具解決用戶問題&#xff0c;todesk總是提示付費&#xff0c;干脆自己使用開源的。當然凡事都有代價。 話費了一個工作日的時間終于搞定了。 本文將詳細介紹如何從零開始部署RustDesk自建服務器&#xff0c;實現完全自主可控的遠程桌面解決方案。 踩坑 參考…

datasophon安裝doris問題排除記錄

datasophon安裝doris搞了好久才成功&#xff0c;特別記錄一下。 多災多難的安裝過程&#xff1a;FE安裝 首先&#xff0c;配置界面&#xff0c;要注意兩個參數一定要改成正確的網段&#xff0c;否則會被識別成127.0.0.1注意&#xff1a;兩個priority_networks 參數必須要改成你…

suricata新增Mysql告警規則處理

suricata新增Mysql告警規則處理協議解析后續處理內容新增規則規則解析關鍵字新增Setup用于初始化檢測項Free用于資源釋放AppLayerTxMatch用于協議解析完成后的規則檢測針對pcap文件進行檢測總結協議解析后續處理內容 經過Mysql協議解析處理流程 介紹&#xff0c;我們在suricat…

使用位運算優化 Vue.js 應用:高效狀態管理技巧

在 Vue.js 開發中&#xff0c;位運算&#xff08;Bitwise Operations&#xff09;是一種高效的工具&#xff0c;尤其適用于需要管理大量布爾狀態或優化性能的場景。位運算通過操作二進制位來實現狀態的存儲和檢查&#xff0c;相比傳統的數組或對象操作&#xff0c;內存占用更低…

【Java SE】Clonable接口和深拷貝

目錄 一.Clonable接口 實現步驟&#xff1a; 完整代碼&#xff1a; 二.深拷貝 實現步驟&#xff1a; 完整代碼&#xff1a; 淺拷貝與深拷貝的對比 使用場景建議 完 淺拷貝&#xff08;Shallow Copy&#xff09;和深拷貝&#xff08;Deep Copy&#xff09;是對象復制的兩…

accelerate 在Pycham中執行的設置方法

背景 使用 accelerate 進行分布式代碼訓練時&#xff0c;需要在pycharm中進行調試&#xff0c;此時需要在pycharm中運行。 終端執行命令 # *[Specify the config file path and the GPU devices to use] export CUDA_VISIBLE_DEVICES0# *[Specify the config file path] expo…

探索量子計算與法律理論的交叉領域

文章目錄 前言 一、引言 二、內容 (一)知識產權 (二)隱私與安全 (三)責任認定 (四)證據與證明 (五)法律推理與決策 三、結論 總結 前言 隨著量子計算技術的突破性發展,其引發的法律范式重構問題日益凸顯。烏茲別克斯坦學者伊索姆別克?阿卜迪哈基莫夫于2024年在《量…

js迭代器

文章目錄前言實現原理&#xff1a;調用迭代器自制迭代器前言 迭代器是 JSt 中一種特殊的對象&#xff0c;它提供了一種統一的、通用的方式遍歷個各種不同類型的數據結構。 可以遍歷的數據結構包括&#xff1a;數組、字符串、Set、Map 等可迭代對象。我們也可以自定義實現迭代器…

chainlink VRF中文教程(含mock),解決error: Arithmetic Underflow in createSubscription

?我使用的版本&#xff1a;chainlink-brownie-contracts version:1.3.0?1. Import 相關包 ,,, import {VRFConsumerBaseV2Plus} from "chainlink/contracts/src/v0.8/vrf/dev/VRFConsumerBaseV2PLUS.sol"; import {VRFV2PlusClient} from "chainlink/contract…

非線性優化框架CasADi工具箱求解最優控制問題OCP

CasADi是一個開源的Python/MATLAB庫&#xff0c;主要用于數值優化&#xff0c;特別是最優控制問題。它提供了一個易于使用的符號框架&#xff0c;用于處理和生成表達式&#xff0c;以及高效地生成導數信息。 https://web.casadi.org/get/https://web.casadi.org/get/ 所有OCP…