※ 引述《afgn (蘇大寶)》之銘言:
: 如題,
: 我會PHP, 但又不想學框架(Zend、Symphony、CodeIgniter、Yii),
: 可以只用 PEAR 嗎? 或是什麼都不用? 直接用PHP的一些函數來避免
: SQJ Injection、XSS ?
: 有沒有相關文件可以參考? 謝謝 ^_^
我是屬於喜歡原生開發的那一派的
我不太喜歡用框架,會的框架也不多
但是,我會說,「資安」從來都不是用不用框架的理由
因為一個沒有資安觀念的人,不用框架只會更慘
而且,不用框架並不代表程式可以亂寫
該做的檢查還是要作
PHP函數並不會主動幫忙檢查一些東西
要自己主動去叫他,這是很容易被忘掉的地方
不用框架的意義是,自己很明確知道自己要有哪些功能
以及知道這套系統未來可能遇到的變更等狀況
以至於自己可以用最省事的方式去寫一個簡易形的框架出來
用簡單一句成語來說,殺雞焉用牛刀,就是這個道理
如果你要找文件的話
我只能說,這東西沒文件,只能靠經驗
或是從有系統性整理駭客手法的網站、書籍下手
挖漏洞這種事,需要一堆巧合,跟撰寫程式方「連續的」不小心才有可能發生。
當然,對於找漏洞的人來說,知識跟經驗也是必須要的
不然菊花大的漏洞擺在眼前,也發現不了
或是,發現了一個菊花大的漏洞的時候,也沒辦法把把他挖到像砂鍋那麼大
而且,這些漏洞的「罪」從來都跟使用的框架沒有關係。
那些框架幾乎都是開源程式碼
也就是說,會有很多閒閒沒事的人在挖框架的漏洞,以及提出、修改
漏洞的問題都出在「人」身上
我看過些狀況是,框架明明就把保護措施弄的好好的
卻有人硬是要直接用 + 號(php的話是.)去組SQL導致被入侵的狀況
或是直接從網址上收到字串,就直接把那字串接到路徑上
還用root下去跑web server
導致passwd檔跟shadow被看光光的之類的
因為你在版上貼過禾聯碩的徵才資訊
我就去那個網站翻了一翻
http://www.heran.com.tw/
結果出現這個
http://i.imgur.com/HdTFcC8.jpg
像這種問題,大概就是收到參數沒檢查,直接用 + 號黏到SQL中會發生的狀況
這看起來應該是SQJ Injection
那,發現SQJ Injection之後能幹什麼事情呢?
我看過書上是寫說,基本的狀況是把資料庫的帳號密碼、資歷結構都挖出來
或是修改、拿到網站權限等等
如果資料庫的權限沒設好的話,那有可能從這邊拿到root
不過我並不打算嘗試,也沒開挖這個漏洞,請你放心
但請你快點跟公司報告,並修好這個問題