999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

深入研究PHP程序開發中存在的漏洞

2016-05-30 13:21:22胡華海王新宇
科技風 2016年23期

胡華海 王新宇

摘 要:PHP作為當前最流行的動態網頁的設計語言之一,并且在網絡環境中很多PHP語言開發出的腳本語言都是開源的,但PHP語言和其他語言一樣也存在些漏洞,接下來我將從代碼分析的角度來分析PHP中存在的一些安全漏洞。

關鍵詞:PHP;XSS攻擊;SQL注入

在涉及apache服務器系統安全問題方面我們不在深入分析,我們主要是來介紹PHP中存的漏洞問題及解決方案。PHP存在的漏洞比較多,我們不一一列出,在這里我們主要找了一些代表性的案例,每種漏洞都有相應的解決方法,接下來我將對目前常見的以下幾種漏洞提出自已的一些解決方案。

一、PHP程序開發中存在的漏洞

ecshop最新版本存儲XSS至后臺。

這個漏洞是利用定單處理頁面:flow.php的填寫收貨人地址頁面沒有對郵件進行有效的過濾,導致管理員在后臺的訂單頁。

比如我們在郵件框中輸入:

" onmouseover="$import('http://www.gongJiDeJS.com/test.js','js')" "

其它內容填好,雖然在在init.php文件中會進行一個addslashes但寫入數據庫后內容就恢復輸入的內容了。

這種漏洞雖然在客戶端用了JS判斷郵件合法性但客戶端JS可以關閉,所發在開發時不要太相信客戶端的JS判斷。JS只是一個增加客戶體驗,不能完全相信提交過來的數據。尤其是攻擊者,他們會想提交各種攻擊串來達到目的。

程序在使用這些數據時也不能只通過addslashes來添加轉義。要嚴格判斷提交數據的合法性,如郵件必須判斷為正確的格式,顯示的文本要判斷是否有script標簽或其它的引入文件標簽防止加載攻擊JS代碼丟失客戶或管理員的COOKIE。包含html標簽的都轉換為HTML特殊符號轉義等。盡量不要直接使用。

(一)ecshop最新版本SQL注入+存儲XSS=任意管理員登錄。

這個漏洞是利用站外廣告統計處理頁面:affiche.php的from參數傳入SQL,直接寫入數據庫ecs_adsense中在后臺管理員進入 報表統計 -> 站外投放JS 菜單時該頁面又沒有對這個參數進行過濾便使用到第二個SQL中很容易形成了“二次注入”。

同第一個類似,可以方便的獲取管理員的COOKIE,如果這個時候你知道了該系統的表前綴,還可以進行SQL注入獲取管理員的密碼。

當然還有其它可用的SQL來注入,獲取想要的內容,比如系統配置數據等。這種漏洞完全是程序沒有對提交的數據進行過濾,雖然的客戶端沒有什么影響,但管理員進入后臺時,打開對應的頁面就會執行攻擊者想要的操作,如果攻擊者能及時得到管理員的COOKIE就可以進入后臺管理,達到攻擊的目的。來源地址中說解決方案是 addslashes, 輸出時過濾 雖然解決了問題但不完善,應該從輸入時就過濾,去掉不合法的地址。

(二)ecshop最新版本一處用戶權限越權。

這個漏洞是利用了頁面中的隱藏表單元素。強制修改里面的值來破壞數據庫里的記錄。

ecshop里的用戶可以修改自己的配送地址,但存在著address_id隱藏域,只要動修改下里面的值進行循環就可以清空或修改所有其它用戶的配送地址。

主要的是修改配送地址的程序沒有做用戶判斷,而直接用了配送ID篩選,使用的程序是:

/includes/lib_transaction.php 516行,save_consignee方法

if ($consignee['address_id'] > 0)

{

/* 修改地址 */

$res = $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('user_address'), $consignee, 'UPDATE', 'address_id = ' . $consignee['address_id']); //看,沒判斷user_id吧?

}

雖然這個漏洞不能獲取管理員的數據,但是可以破壞用戶的配送地址。極其不安全。這個漏洞利用的是SQL查表篩選條件不足,在修改配送地址時沒有以用戶ID加配送ID進行篩選,只用到了配送ID,如果我們修改配送ID那就可以直接修改其它不屬于該用戶的配送數據,一斷循環那就會影響整個配送表的數據,因此在查表時一定要做好篩選,尤其是接受提交數據進行篩選,能進行用戶ID的一定要加上去,避免類似漏洞發生,同樣要對這個提交過來的篩選內容進行過濾,能為數字一定要強制轉換下等。

二、結語

這里所能說明的是大部分PHP程序漏洞是沒有對用戶提交來的數據進行驗證導致的,所以對客戶提交的所有數據進行適當的驗證轉換是網站安全的基本,如果是數值的一定要強制轉換為對應的數值類型,如果是字符串的一定要加addslashes處理下,郵箱一定要進行匹配驗證,如果要做二次查詢SQL時并且使用到用戶提交過來的數據(字符串類的)一定要再加一次addslashes才能進入SQL中,否則容易產生二次注入,如果要顯示客戶提交過來的文本類數據要進行htmlentities轉換HTML實體字符,解決掉XSS攻擊的可能,如果特殊情況不能去掉HTML實體字符,那必須處理好JS的引入操作,查找出一些script、標簽和一些JS事件。

參考文獻:

[1] 陳益材,等.PHP+MySQL+Dreamweaver 動態網站建設從入門到精通(附多媒體語音教學光盤).環博文化組.機械工業出版社.2012,6.

[2] 楊宇.PHP典型模塊與項目實戰大全[M].清華大學出版社,2012,1.

[3] 陳湘揚,陳國益. PHP5+MySQL網頁系統開發設計[M].北京:電子工業出版社,2007,5.

[4] 宋正榮.基于PHP-MVC的Struts標簽的實現[D].銅陵學院報,2005,4.

主站蜘蛛池模板: 无码内射在线| 视频二区亚洲精品| 成年人视频一区二区| 啦啦啦网站在线观看a毛片| 久久久久人妻精品一区三寸蜜桃| 国产精品第三页在线看| 中文字幕无码av专区久久 | 中国精品久久| 亚洲视频二| 亚洲国产日韩欧美在线| 国产三级成人| 久久99国产精品成人欧美| 国产精品欧美激情| 激情六月丁香婷婷| 国产精品久久自在自线观看| 国产成人精品一区二区| 久久99国产综合精品1| 在线a视频免费观看| 欧美亚洲欧美区| 久久视精品| 精品五夜婷香蕉国产线看观看| 99手机在线视频| 四虎国产永久在线观看| 国产屁屁影院| 成人va亚洲va欧美天堂| 日韩乱码免费一区二区三区| 亚洲动漫h| 91亚洲精选| 欧美色香蕉| 久久精品aⅴ无码中文字幕| 亚洲最大看欧美片网站地址| 国产99免费视频| h视频在线观看网站| 久久这里只有精品国产99| 中国精品久久| 欧美无专区| 亚洲天堂777| 国产黄网永久免费| 国产人人射| 激情爆乳一区二区| 国禁国产you女视频网站| 福利在线不卡一区| 欧美国产精品不卡在线观看| 亚洲成人手机在线| 久草网视频在线| 波多野结衣一二三| 日本三级欧美三级| 亚洲精品视频免费观看| 欧美亚洲国产精品久久蜜芽| 亚洲国产成人麻豆精品| 精品无码国产自产野外拍在线| 99免费在线观看视频| 在线免费观看a视频| 免费亚洲成人| 亚洲精品国产综合99| 四虎综合网| 无码一区中文字幕| 啊嗯不日本网站| 1769国产精品免费视频| 亚洲国产天堂久久综合226114| 国产女人水多毛片18| 亚洲国产成人精品无码区性色| 在线亚洲精品福利网址导航| 在线网站18禁| 欧美日韩国产在线观看一区二区三区| 色天天综合久久久久综合片| 午夜国产理论| 国产精品视频猛进猛出| 性网站在线观看| 国产a在视频线精品视频下载| 青青网在线国产| 呦系列视频一区二区三区| 久久久黄色片| 色综合久久88色综合天天提莫| 精品国产一二三区| 26uuu国产精品视频| 亚洲成人福利网站| 国产三级视频网站| 日本91视频| 国产国产人成免费视频77777| 欧美三级日韩三级| 国产亚洲精品自在久久不卡 |