<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=SQL%E6%B3%A8%E5%85%A5</id>
	<title>SQL注入 - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=SQL%E6%B3%A8%E5%85%A5"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=SQL%E6%B3%A8%E5%85%A5&amp;action=history"/>
	<updated>2026-04-25T15:06:11Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=SQL%E6%B3%A8%E5%85%A5&amp;diff=475688&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=SQL%E6%B3%A8%E5%85%A5&amp;diff=475688&amp;oldid=prev"/>
		<updated>2025-08-23T10:47:27Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;SQL 注入&amp;#039;&amp;#039;&amp;#039;（英語：SQL injection）， 嘛稱&amp;#039;&amp;#039;&amp;#039;SQL 隱碼&amp;#039;&amp;#039;&amp;#039;抑是&amp;#039;&amp;#039;&amp;#039;SQL 注碼&amp;#039;&amp;#039;&amp;#039;，是發生佇應用程式佮資料庫層的安全漏洞。我簡來講，是佇輸入的字串內底挾帶 SQL 指令，佇咧設計不良的程式當中失覺察字元檢查，遮爾仔夾帶入去的惡意指令就會予資料庫侍服器誤認為是正常的 SQL 指令而執行，所以受著破壞抑是入侵。&lt;br /&gt;
&lt;br /&gt;
有部份的人感覺 SQL 注入是干焦針對 Microsoft SQL Server，但是只要是支援處理 SQL 指令的資料庫侍服器，攏有可能受著這款手法的攻擊。&lt;br /&gt;
&lt;br /&gt;
==原因==&lt;br /&gt;
&lt;br /&gt;
伊應用程式內底若有理由狀況，可能是應用程式正暴露佇咧 SQL Injection 彼高風險狀況之下：&lt;br /&gt;
&lt;br /&gt;
一 . 佇咧應用程式內底使用字串聯結方式或者是聯合查詢方式組合 SQL 指令。&lt;br /&gt;
二 . 佇應用程式連結資料庫的時使用權限過大的口座（譬如講誠濟開發人員攏愛用上濟權限的系統管理員口座（如常看著的 root，sa 等）連接資料庫）。&lt;br /&gt;
三 . 佇資料庫當中開放矣無必要毋過權力過大的功能（譬如講佇 Microsoft SQL Server 資料庫內底的 xp \ _ cmdshell 延伸預存的程序抑是 OLE Automation 預存程序等等）&lt;br /&gt;
四 . 傷過信任使用者所輸入的資料，未限制輸入的特殊字元，猶閣有使用者輸入的資料做藏佇指令的檢查。&lt;br /&gt;
&lt;br /&gt;
==作用原理==&lt;br /&gt;
&lt;br /&gt;
一 . SQL 命令會當查詢、插入去、更新、刪除等，命令的串接。若以分號字元為無仝命令的區別。（原本的作用是用於 SubQuery 抑是做查詢、插入去、更新、刪除…… 等的條件式）&lt;br /&gt;
二 . SQL 命令對傳入的字串參數是用單引號字元所包起來。（但連紲兩个單引號字元，佇咧 SQL 資料庫內底，則當做字串中的一个單引號字元）&lt;br /&gt;
三 . SQL 命令著，會當紮註解（連紲兩个減號字元 `--` 後的文字共註解，抑是「` / * `」佮「` * / `」所包起來的文字為註解）&lt;br /&gt;
四 . 所以，若是咧組合 SQL 的命令字串時，未針對單引號字元作跳脫處理的話，共這致使這字元變數咧添入去命令字串時，去予惡意竄改原本的 SQL 語法的作用。&lt;br /&gt;
&lt;br /&gt;
==例==&lt;br /&gt;
&lt;br /&gt;
某一个網站的登入驗證的 SQL 查詢代碼為惡意填入與時，將致使原底的 SQL 字串予人添做也就是實際上執行的 SQL 命令會變做下跤按呢的所在達到無數號密碼，亦可登入網站。所以乎 SQL 注入予人叫駭客的閬縫遊戲。&lt;br /&gt;
&lt;br /&gt;
==可能造成的傷害==&lt;br /&gt;
&lt;br /&gt;
一 . 資料表中的資料漏洩，譬如講企業佮個人機密資料，口座資料，密碼等。&lt;br /&gt;
二 . 資料結構予駭客探知，會當做進一步的攻擊（比如講 SELECT \ * FROM sys . tables）。&lt;br /&gt;
三 . 資料庫侍服器予人攻擊，系統管理員戶頭去予人竄改（比如講 ALTER LOGIN sa WITH PASSWORD=&amp;#039;xxxxxx&amp;#039;）。&lt;br /&gt;
四 . 取得系統較高權限了後，有可能會當佇網頁加入惡意連結、惡意代碼以及 Phishing 等。&lt;br /&gt;
五 . 經過資料庫侍服器提供的作業系統支援，予駭客會當修改抑是控制作業系統（比如講 xp \ _ cmdshell &amp;quot; net stop iisadmin &amp;quot; 會使停止侍服器的 IIS 服務）。&lt;br /&gt;
六 . 攻擊者利用資料庫提供的各種功能操縱檔案系統，寫入去 Webshell，落尾致使攻擊者攻陷系統七 . 破壞硬碟資料，半遂全系統（比如講 xp \ _ cmdshell &amp;quot; FORMAT C : &amp;quot;）。&lt;br /&gt;
八 . 取得系統上懸權限了後，會當針對企業內部的任一管理系統做大規模破壞，甚至予其企業倒去。&lt;br /&gt;
九 . 網站頭一頁予人竄改，致使聲譽受著損害。&lt;br /&gt;
&lt;br /&gt;
==避免的方法==&lt;br /&gt;
&lt;br /&gt;
一 . 佇設計應用程式的時陣，完全使用參數化查詢（Parameterized Query）來設計資料存取功能。&lt;br /&gt;
二 . 咧組合 SQL 字攕時，先針對所傳入的參數加入其他字元（共單引號字元前加上跳脫字元）。&lt;br /&gt;
三 . 若使用 PHP 若開發網頁程式，需要加入跳脫字元之功能（自動共所有的網頁傳入參數，共單引號字元前加上跳脫字元）。&lt;br /&gt;
四 . 使用 php 開發，可寫入去 html 特殊函式，會當正確的阻擋 XSS 攻擊。&lt;br /&gt;
五 . 其他，使用其他更加安全的方式連接 SQL 資料庫。譬如講已經修正過 SQL 注入問題的資料庫連接元件，比如講 ASP . NET 的 SqlDataSource 物件抑是 LINQ to SQL。&lt;br /&gt;
六 . 增強網頁應用程式防火牆的防禦力&lt;br /&gt;
&lt;br /&gt;
==歷史==&lt;br /&gt;
&lt;br /&gt;
有關 SQL 注入去的頭一擺公開討論始佇一九九八年左右。比如講，Phrack Magazine 中的一九九八年文章。&lt;br /&gt;
&lt;br /&gt;
==參考文獻==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* 賽迪網-儲存程序以外：SQL 注入去深入防禦（繁體中文）&lt;br /&gt;
* MSDN 的 SQL 資料注入概述（繁體中文）&lt;br /&gt;
* MSDN 的 SQL 注入去概述（簡體中文）&lt;br /&gt;
* Protecting yourself from SQL Injection Attacks by Ross Overstreet（英文）&lt;br /&gt;
* &amp;quot; SQLrand : Preventing SQL Injection Attacks &amp;quot; by Stephen W . Boyd and Angelos D . Keromytis（英文）&lt;br /&gt;
* &amp;quot; What is SQL Injection ? &amp;quot; By CGISecurity . com（英文）&lt;br /&gt;
* &amp;quot; What is Blind SQL Injection ? &amp;quot; By CGISecurity . com（英文）&lt;br /&gt;
* Avoid SQL injection（英文）&lt;br /&gt;
* PHP and SQL Injections（英文）&lt;br /&gt;
* SQL Injection in Login Forms（英文）&lt;br /&gt;
* xkcd 上以 SQL 注入做主題的 bàng-gà（英文）&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>