SQL注入四種類型詳解:原理、利用與防御
1. 什么是 SQL 注入SQL 注入是指攻擊者將惡意 SQL 代碼插入到輸入?yún)?shù)中應(yīng)用程序未進(jìn)行過濾便將其拼接到 SQL 查詢語句中導(dǎo)致數(shù)據(jù)庫執(zhí)行了非預(yù)期的命令。一句話解釋就是你輸入的內(nèi)容被直接當(dāng)作代碼執(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ù)分離用戶輸入永遠(yuǎn)不會被當(dāng)作代碼執(zhí)行。其他防御措施對輸入進(jìn)行過濾與轉(zhuǎn)義最小權(quán)限原則關(guān)閉錯誤回顯隱藏數(shù)據(jù)庫報錯信息4. 總結(jié)SQL 注入的本質(zhì)是用戶輸入被拼接到了 SQL 語句中。防御的核心是不信任用戶輸入使用參數(shù)化查詢是根本解決手段。**免責(zé)聲明**本文所有操作均在自建虛擬機環(huán)境中完成僅用于網(wǎng)絡(luò)安全學(xué)習(xí)與研究。嚴(yán)禁用于任何非法用途違者自行承擔(dān)后果。

相關(guān)新聞

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

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

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

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

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

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

2026/7/29 6:06:06 閱讀更多
那些年,我們差點被細(xì)節(jié)坑掉的下午

那些年,我們差點被細(xì)節(jié)坑掉的下午

干了小二十年實驗室管理,有個體會越來越深:實驗室出事兒,從來不是因為什么高深技術(shù)沒搞懂。全是細(xì)節(jié),全是那些你以為“差不多就行”的日常操作。 上個月翻我們元檢LIMS里的歷史不符合項統(tǒng)計,我讓質(zhì)量主管拉了個數(shù)據(jù)——…

2026/7/29 7:16:08 閱讀更多
LENA-R8與STM32F439ZG在物聯(lián)網(wǎng)中的高效集成方案

LENA-R8與STM32F439ZG在物聯(lián)網(wǎng)中的高效集成方案

1. LENA-R8與STM32F439ZG的黃金組合:為什么選擇它們?在物聯(lián)網(wǎng)設(shè)備開發(fā)領(lǐng)域,全球連接和精確定位一直是兩個最核心的需求。LENA-R8作為u-blox推出的多模通信模塊,集成了LTE Cat 1和GNSS功能,而STM32F439ZG則是STMicroele…

2026/7/29 7:16:08 閱讀更多
2026年廣州5S管理咨詢機構(gòu)優(yōu)選攻略:拒絕反彈、長效固化

2026年廣州5S管理咨詢機構(gòu)優(yōu)選攻略:拒絕反彈、長效固化

在制造業(yè)、服務(wù)業(yè)和各類企業(yè)中,5S管理早已不是新鮮話題。然而,隨著市場競爭日趨激烈,企業(yè)對于現(xiàn)場管理、效率提升和成本控制的需求日益迫切,5S管理咨詢行業(yè)也隨之蓬勃發(fā)展。據(jù)不完全統(tǒng)計,僅國內(nèi)專注或涉及5S管理咨詢的…

2026/7/29 7:16:08 閱讀更多
分布式電源接入配電網(wǎng)的技術(shù)挑戰(zhàn)與MATLAB仿真實踐

分布式電源接入配電網(wǎng)的技術(shù)挑戰(zhàn)與MATLAB仿真實踐

1. 分布式電源接入配電網(wǎng)的核心挑戰(zhàn)十年前我第一次接觸分布式光伏項目時,整個團隊都在為5kW的屋頂光伏并網(wǎng)折騰得焦頭爛額。如今看到35kV級別的分布式能源大規(guī)模接入,不禁感慨電力系統(tǒng)正在經(jīng)歷的革命性變化。分布式電源(Distributed Generati…

2026/7/29 7:16:08 閱讀更多
面試官大笑:“一個任務(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)用投擲兩個骰子(六面標(biāo)準(zhǔn)骰),使用 Unicode 骰面符號直觀展示每個骰子的點數(shù),并伴有快速滾動的動畫效果?!?/p>

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