時(shí)間:2022-07-29 16:51:01 | 來源:建站知識(shí)
時(shí)間:2022-07-29 16:51:01 來源:建站知識(shí)
幾年前,網(wǎng)站中大多數(shù)都存在sql注入。sql注入在這幾年可以說已經(jīng)被廣大網(wǎng)站管理者所認(rèn)知,并在搭建網(wǎng)站的時(shí)候都能注意到網(wǎng)站防注入這一問題,但為什么我們EeSafe現(xiàn)在收錄的網(wǎng)站中,還是有很大一部分存在sql注入問題?我想并不是由于網(wǎng)站站長不知道sql注入的危害(危害我這里就不說了,大家可以去百度等搜索引擎上查找),而是由于網(wǎng)站對(duì)于像sql注入這樣的問題的防范和發(fā)掘不夠深造成的,這里我把防范sql的黃金方法和大家交流一下,應(yīng)該能夠在網(wǎng)站防止安全漏洞的方面起到推波助瀾的作用,至于如何發(fā)掘,我會(huì)在后篇提及。
能夠防范sql注入的好方法(注意,我這里說的是“防范”)只有一個(gè),那就是強(qiáng)化網(wǎng)站開發(fā)過程中的安全流程,有人說上硬件,那我要問上什么硬件?防火墻?DDOS防攻擊?安全網(wǎng)關(guān)?這些基本上都防不住,或者個(gè)別的有防注入功能但至于效果怎么樣,我就不多說了。我接觸的最有效的方法只有一種:加強(qiáng)網(wǎng)站開發(fā)過程中的代碼編寫,安全測試流程。由于負(fù)責(zé)編寫程序的程序員水平和經(jīng)驗(yàn)參差不齊,絕大多數(shù)程序員并沒有接受過安全開發(fā)培訓(xùn),所以在網(wǎng)站開發(fā)過程中要去進(jìn)行安全方面的考量是不太現(xiàn)實(shí)的,這也就造成了到現(xiàn)在還有那么多網(wǎng)站存在大量的安全隱患的局面,所以不僅是防sql注入,防任何網(wǎng)站安全問題都要從開發(fā)流程和方法上著手。
那怎樣著手防止,給大家?guī)讉€(gè)建議和方法。
首先明確自己要假設(shè)網(wǎng)站的技術(shù)架構(gòu),截止發(fā)文在eesafe網(wǎng)站安全聯(lián)盟上收錄的網(wǎng)站使用ASP或asp.net加MSSQL這樣的構(gòu)架站52%,PHP+MYSQL的占35%。
其次根據(jù)選擇的不同架構(gòu)做不同的安全解決方案。
比如如果你的網(wǎng)站使用PHP+MYSQL開發(fā)的(現(xiàn)在流行的大多數(shù)CMS發(fā)布系統(tǒng)都是采用PHP)。
1.加強(qiáng)腳本層(也就是在PHP方面加強(qiáng)防注入手段)。使用Php.ini的magic_quotes_gpc選項(xiàng)。在開發(fā)過程中凡是需要接受用戶輸入的位置使用addslashes函數(shù)、intval函數(shù),htmlspecialchars函數(shù),htmlentities函數(shù),并加入javascript防注入漏洞過濾函數(shù)(現(xiàn)成的過濾函數(shù)可以在eesafe網(wǎng)絡(luò)安全交流區(qū)里找到)和PHP防注入漏洞過濾函數(shù)(現(xiàn)成的過濾函數(shù)可以在eesafe網(wǎng)絡(luò)安全交流區(qū)里找到)。
2.加強(qiáng)數(shù)據(jù)層(也就是數(shù)據(jù)庫方面加強(qiáng)防注入手段)。在網(wǎng)站和數(shù)據(jù)庫進(jìn)行連接時(shí)(也就是連接池)使用的用戶具有普通權(quán)限就可以了,不要使用超級(jí)用戶或數(shù)據(jù)庫所有者的賬號(hào)。對(duì)提交數(shù)據(jù)的類型和格式進(jìn)行嚴(yán)格檢查,確保數(shù)據(jù)類型符合要求,比如用mysql數(shù)據(jù)庫系統(tǒng)函數(shù)isnumberic()判斷傳到數(shù)據(jù)庫中的值是否是數(shù)字。另外在連接數(shù)據(jù)庫時(shí)盡量使用sssl或ssh。
其他構(gòu)架的網(wǎng)站也和上面的相同,只是不同的構(gòu)架防范細(xì)節(jié)側(cè)重點(diǎn)不同。當(dāng)然,你可以下載使用本地版的EeSafe網(wǎng)站安全檢測工具,選擇相應(yīng)的構(gòu)架對(duì)你的網(wǎng)站進(jìn)行源代碼級(jí)的注入檢測,該軟件提供對(duì)PHP,ASP,.NET,JSP等多種構(gòu)架的檢測。并且現(xiàn)在可以通過申請得到正式版注冊號(hào)。好了,雖然現(xiàn)在網(wǎng)上有很多介紹網(wǎng)站防sql注入的文章,但我想通過本篇你會(huì)對(duì)防注入有一個(gè)更全面的認(rèn)識(shí),能夠給網(wǎng)站的開發(fā)和運(yùn)營帶來幫助。
原創(chuàng)文章,純手打,轉(zhuǎn)載請注明版權(quán)歸屬:EeSafe網(wǎng)站安全聯(lián)盟
轉(zhuǎn)載請以鏈接形式注明原文地址:EeSafe網(wǎng)絡(luò)安全論壇
關(guān)鍵詞:方法,實(shí)踐
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。