轉自 http://www.php5.idv.tw/html.php?mod=article&do=show&shid=69
幾年前大家在討論資料庫隱碼的時候當時寫過一篇文章。SQL injection 是針對資料庫,說明資料庫隱碼的運作。但是他只對資料庫有作用嗎?其實並不然,其實在程式設計的過程中,任何的程序都可能會被資料庫隱碼所攻擊。資料庫隱碼本身並不是一種刻意做的入侵工具,而是來自於設計師本身對使用者所輸入的資料沒有進行管控或者是設計師對程式的疏漏造成的效果。
舉例來說 "當一個設計師建了一個房子,而這個房子有一個門",這個門的好壞就是一個關鍵了。
所以:
1.設計師必須要知道,使用者會拿什麼東西來開這個門
2.永遠不要留一個洞然後以為別人永遠不會知道這個洞
我們簡單的來寫一個例子說明資料庫隱碼。一般而言的資料隱碼是針對資料庫運作,所以看一下下面的例子:
PHP CODE:
$sql="select * from a where f='$變數'";
echo $sql;
?>
相信資料在 $變數 這個變數許多的人都會直接將 $變數 帶入你的語法中。但是在資料庫隱碼的方式。hacker會傳進一些特別的資料來破壞你的語法,使的他可以控制你的資料庫。例如傳入 ' or '1 ,那麼你的語法會數變成什麼樣子呢?
PHP CODE: //例如傳如 ' or '1
$sql="select * from a where f='$變數'";
//select * from a where f='' or '1'
echo $sql;
?>
那麼你的資料庫便一口氣被倒了出來,這就是資料隱碼。看起來真是嚇人呀!!(抖)
Personal notes ~
2007年5月13日 星期日
訂閱:
張貼留言 (Atom)
追蹤網誌清單
IT Info
Reference
標籤
- 代討論
- 防盜
- 常規表示式(regular expression)
- 進度
- 電子地圖
- 網站搬家程式
- Ajax Library
- Application of Perl
- C#
- CakePHP
- Coding Convention
- CSS
- Data injection
- DBI
- Debug
- Diff Browser
- Effect : Slideshow
- Engineering - Desing Pattern
- framework
- Framework - CodeIgniter
- Functions
- Imgick
- jquery
- JS Framework
- JS Library
- JS Object : Statement
- Linux
- Mapping Other Language
- Need to Turnning
- NetBeans
- OOAD-MVC
- open source suit software
- Performance
- Perl Installation
- PHP Class
- PHP rpc Java
- PHP to PERL
- Presentation
- RIA
- Serculity
- Service
- SQL injection
- Tips
- Tools
- Variable
- Versus
- WCF
- WebSite Thumbnail
- XML
- ZK Ajax
網誌存檔
-
▼
2007
(80)
-
▼
5月
(51)
- check class
- exec() check
- POST 方法上傳
- foreach
- Group , Join
- fetch query result
- kkwi
- 20070522 Mysql Driver 編碼問題
- ignore_user_abort() ...
- 換掉別人的網站首頁
- php
- CakePHP使用手冊-命名規則?
- CakePHP使用手冊-暫存機制(Cache)
- CakePHP使用手冊-安全性元件(Security Component)
- CakePHP使用手冊-要求處理元件
- CakePHP使用手冊-資料過濾
- CakePHP使用手冊-Session元件(Session Component)
- CakePHP使用手冊-權限控制表(ACL)
- CakePHP使用手冊-插件(Plugin)
- CakePHP使用手冊-資料檢驗
- CakePHP使用手冊-全域函式與常數
- CakePHP使用手冊-AJAX Helper
- CakePHP使用手冊-Helper
- CakePHP使用手冊-HTML Helper
- CakePHP使用手冊-View
- CakePHP使用手冊-Component
- CakePHP使用手冊-何謂model?(二)
- CakePHP使用手冊-Controller
- CakePHP使用手冊-何謂model?(一)
- CakePHP使用手冊-Scaffold(鷹架)
- CakePHP使用手冊-安裝
- CakePHP使用手冊-設定
- CakePHP使用手冊-基礎觀念
- CakePHP使用手冊-簡介
- CakePHP使用手冊-序
- CakePHP 譯序
- Data injection
- SQL injection
- Java 程式碼慣例 -- 第十一章 程式碼範例
- Java 程式碼慣例 -- 第十章 程式習慣
- Java 程式碼慣例 -- 第九章 命名慣例
- Java 程式碼慣例 -- 第八章 空白
- Java 程式碼慣例 -- 第七章 敘述
- Java 程式碼慣例 -- 第六章 宣告
- Java 程式碼慣例 -- 第四章 縮排
- Java 程式碼慣例 -- 第五章 註解
- Java 程式碼慣例 -- 第二章 檔案名稱
- Java 程式碼慣例 -- 第三章 檔案組織
- Java 程式碼慣例-導論
- CakePHP Basic Setup and Views
- 用PHP函数解决SQL injection
-
▼
5月
(51)
沒有留言:
張貼留言