非攻擊資料庫的資料隱碼
而我們終於又談到了另一個重點。資料庫隱碼只有對資料庫才有效嗎?其實不然如果你的程序過於簡單而容易被猜透,或者程式設計時不小心細節。就要當心你會糟受隱碼的攻擊了。來一個經典的實例吧:
信件回覆程式
PHP CODE: //DO....
//.......
mail("somexxx@xdsfasd.com.tw",$_POST["subject"],$_POST["comment"],"From:".$_POST["sender"]);
?>
這樣的寫法看起來非常的合理,也沒有什麼錯誤呀。我相信還是有非常多的設計師仍然用這樣的方式在寫作程式。(包括作者)如果你的語法是這樣寫的話,你就要小心的。這樣寫法會發生包什麼事呢?
如果使用者在後面的 $_POST["sender"] 開始做起了文章來,如果使用者傳進來的是:
PHP CODE: $_POST["sender"]
112233 @ .....
bcc: 一堆收件人
其他header訊息
?>
那麼你的簡單到不行的小程式就淪為別人的垃圾郵件工具了。
結論
所以我們還是必須的不斷的重申:
1.程式設計師一定要先想清楚使用者會輸入的是什麼的資料. 而且必須要做適當的防護。
2.不要有覺得 "反正又沒有人會知道" 的想法 (程式設計師是偷懶不得的,該加的還是要加)
現在的張貼機器人可不會照你的表單給值的。
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)
沒有留言:
張貼留言