SQL注入四種類型詳解:原理、利用與防御
1. 什么是 SQL 注入SQL 注入是指攻擊者將惡意 SQL 代碼插入到輸入?yún)?shù)中應(yīng)用程序未進行過濾便將其拼接到 SQL 查詢語句中導(dǎo)致數(shù)據(jù)庫執(zhí)行了非預(yù)期的命令。一句話解釋就是你輸入的內(nèi)容被直接當作代碼執(zhí)行了2. 四種常見類型2.1 聯(lián)合查詢注入原理利用 UNION 關(guān)鍵字將攻擊者的查詢結(jié)果拼接到正常查詢結(jié)果后面在頁面上回顯。步驟1. 猜列數(shù)1 ORDER BY 1 --2. 找顯示位-1 UNION SELECT 1,2,3 --3. 查數(shù)據(jù)-1 UNION SELECT 1,database() --示例-1 UNION SELECT 1, table_name FROM information_schema.tables WHERE table_schemadvwa --適用條件頁面有顯示位能直接看到查詢結(jié)果。2.2 報錯注入原理利用 updatexml() 或 extractvalue() 函數(shù)故意構(gòu)造非法 XPath 路徑觸發(fā)數(shù)據(jù)庫報錯在錯誤信息中帶出數(shù)據(jù)。示例1 AND updatexml(1, concat(~, database(), ~), 1) --適用條件頁面能顯示 SQL 報錯信息。2.3 布爾盲注原理頁面只有兩種狀態(tài)“存在”/“不存在”通過構(gòu)造布爾條件逐位猜出數(shù)據(jù)。猜長度1 AND LENGTH(database())4 --以此類推。猜字符1 AND SUBSTRING(database(),1,1)d --以此類推。適用條件頁面無數(shù)據(jù)顯示但能區(qū)分“真/假”狀態(tài)。2.4 時間盲注原理通過 SLEEP() 函數(shù)制造時間差根據(jù)頁面響應(yīng)時間判斷條件是否成立。示例1 AND IF(LENGTH(database())4, SLEEP(5), 0) --適用條件頁面沒有任何變化只能靠響應(yīng)時間判斷。3. 防御 SQL 注入最有效的方法是參數(shù)化查詢預(yù)編譯語句。將 SQL 代碼與數(shù)據(jù)分離用戶輸入永遠不會被當作代碼執(zhí)行。其他防御措施對輸入進行過濾與轉(zhuǎn)義最小權(quán)限原則關(guān)閉錯誤回顯隱藏數(shù)據(jù)庫報錯信息4. 總結(jié)SQL 注入的本質(zhì)是用戶輸入被拼接到了 SQL 語句中。防御的核心是不信任用戶輸入使用參數(shù)化查詢是根本解決手段。**免責聲明**本文所有操作均在自建虛擬機環(huán)境中完成僅用于網(wǎng)絡(luò)安全學習與研究。嚴禁用于任何非法用途違者自行承擔后果。

相關(guān)新聞

機器學習與深度學習:核心差異與實戰(zhàn)應(yīng)用指南

機器學習與深度學習:核心差異與實戰(zhàn)應(yīng)用指南

1. 機器學習與深度學習:從理論到實戰(zhàn)的全方位解析 在數(shù)據(jù)爆炸的時代,機器學習(Machine Learning)和深度學習(Deep Learning)已經(jīng)成為推動技術(shù)進步的核心引擎。作為一名從業(yè)多年的數(shù)據(jù)科學家,我見…

2026/7/29 6:06:06 閱讀更多
NSAIDs藥物全解析:從作用機制到安全使用指南

NSAIDs藥物全解析:從作用機制到安全使用指南

1. 從“止痛藥”到“抗炎藥”:重新認識NSAIDs 在藥柜里,布洛芬、阿司匹林、雙氯芬酸鈉這些名字你一定不陌生。頭疼腦熱、關(guān)節(jié)酸痛、運動拉傷,我們總會習慣性地求助于它們。但你是否想過,這些被我們籠統(tǒng)稱為“止痛藥”的家伙&#…

2026/7/29 6:06:06 閱讀更多
從零構(gòu)建股票大數(shù)據(jù)分析系統(tǒng):架構(gòu)、可視化與預(yù)測模型實戰(zhàn)

從零構(gòu)建股票大數(shù)據(jù)分析系統(tǒng):架構(gòu)、可視化與預(yù)測模型實戰(zhàn)

1. 從數(shù)據(jù)到?jīng)Q策:一個股票分析系統(tǒng)的誕生幾年前,我還在一個量化研究團隊里打雜,每天面對的就是海量的股票行情數(shù)據(jù)、財務(wù)報告和新聞輿情。團隊里的研究員們經(jīng)常需要同時打開好幾個軟件:一個看K線圖,一個跑回測模型&…

2026/7/29 7:06:07 閱讀更多
AI代碼生成提示詞優(yōu)化實戰(zhàn)與技巧

AI代碼生成提示詞優(yōu)化實戰(zhàn)與技巧

1. AI代碼生成與優(yōu)化提示詞的核心價值在編程領(lǐng)域,AI代碼生成工具正在改變開發(fā)者的工作方式。但很多人發(fā)現(xiàn)直接使用原始提示詞生成的代碼質(zhì)量參差不齊,這時候就需要專門的優(yōu)化提示詞技術(shù)。好的提示詞能幫助AI更準確地理解需求,生成更符合預(yù)期的…

2026/7/29 7:06:07 閱讀更多
WindowsPC本地部署大語言模型實戰(zhàn)指南

WindowsPC本地部署大語言模型實戰(zhàn)指南

1. 本地大模型WindowsPC測試概述在個人PC上部署和測試大語言模型正成為技術(shù)愛好者和開發(fā)者的新趨勢。不同于云端API調(diào)用,本地部署能完全掌控數(shù)據(jù)流、避免隱私泄露風險,還能根據(jù)硬件條件靈活調(diào)整模型參數(shù)。我的ThinkPad P15v移動工作站搭載NVIDIA RTX A20…

2026/7/29 7:06:07 閱讀更多
部署oceanbase,數(shù)據(jù)庫國產(chǎn)化

部署oceanbase,數(shù)據(jù)庫國產(chǎn)化

由于某些原因,公司的數(shù)據(jù)庫需要由mysql,換為oceanbase,所以有了這篇帖子。 這個部署卡了我一周,現(xiàn)在終于可以使用了。 遇到了很多的問題,大部分都是連接超時,在啟動,暫停,查看集群…

2026/7/29 6:56:07 閱讀更多
面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個問題:在 Claude Code 里把一個任務(wù)拆給 5 個 Subagent 并行跑,結(jié)果可能比 1 個 agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實擲骰子的過程。應(yīng)用投擲兩個骰子(六面標準骰),使用 Unicode 骰面符號直觀展示每個骰子的點數(shù),并伴有快速滾動的動畫效果?!?/p>

2026/7/29 0:15:24 閱讀更多