A. 涓鏂囩埥 鏂囦歡涓婁紶婕忔礊鍘熺悊銆佹柟娉曞拰綾誨瀷璇︾粏瑙f瀽
鏂囦歡涓婁紶婕忔礊錛氬師鐞嗕笌闃叉姢絳栫暐
鍦╓eb寮鍙戜腑錛屾枃浠朵笂浼犲姛鑳界湅浼煎鉤鍑★紝瀹炲垯闅愯棌鐫璇稿氬畨鍏ㄩ庨櫓銆傛伓鎰忕敤鎴峰埄鐢ㄦ枃浠朵笂浼犳紡媧烇紝鍙浠ユ嶅叆鎮舵剰鑴氭湰錛屽圭綉絝欒繘琛屾帶鍒躲傚叧閿鍦ㄤ簬錛屾湇鍔″櫒瀵逛笂浼犳枃浠剁殑瀹℃煡鏄鍚﹀埌浣嶃備負浜嗛槻鎶ゆょ被婕忔礊錛屾垜浠闇瑕佹繁鍏ョ悊瑙e叾鍘熺悊騫墮噰鍙栨湁鏁堢殑絳栫暐銆
鍘熺悊瑙f瀽錛
- 鎮舵剰鑴氭湰涓婁紶錛氱敤鎴蜂笂浼犵湅浼兼e父鐨勬枃浠訛紝浣嗗疄闄呬笂鍖呭惈鎮舵剰浠g爜錛屽.php鎴.js錛屾湭緇忚繃涓ユ牸媯鏌ュ氨鍙鑳藉艱嚧鎵ц屻
- 椋庨櫓鐐硅瘑鍒錛氬ご鍍忋佽韓浠借よ瘉銆佹枃浠朵笂浼犲姛鑳介兘鏄甯歌佺殑椋庨櫓鐐癸紝鍔″繀鍦ㄤ腑闂翠歡灞傝繘琛屽℃煡錛屾煡鎵綜MS銆佺紪杈戝櫒鎴栧凡鐭ユ紡媧烇紙濡侰VE錛夈
瀹炴垬絳栫暐錛
1. 涓闂翠歡瀹¤錛氶栧厛媯鏌ユ湇鍔″櫒閰嶇疆錛屽繪壘瑙f瀽婕忔礊錛屽侾HP瑙f瀽鍣ㄣ丆MS鎻掍歡絳夈
2. 瀛楀吀鎵鎻忎笌楠岃瘉錛氫嬌鐢ㄥ伐鍏瘋繘琛屾祴璇曪紝鍙鑳介渶瑕侀獙璇佹垨灝濊瘯緇曡繃闃叉姢鏈哄埗銆
3. 緇曡繃鎶鏈鍒嗙被錛
- JS闃叉姢錛氬傜佺敤JS鎴栭粦鍚嶅崟鏈哄埗錛堝.php銆乺ar錛夛紝鍚屾椂鍒╃敤.htaccess鏂囦歡璋冩暣瑙f瀽瑙勫垯銆
- 鐗規畩瀛楃﹀埄鐢錛氬傜偣錛.錛夊拰%00瀛楃︼紝鍙浠ヨ繘琛屽ぇ灝忓啓緇曡繃銆佺偣緇曡繃鎴栬礬寰勬埅鏂銆
瀹夊叏瀹炶返錛
- 鐧藉悕鍗曠瓥鐣錛氶檺鍒朵笂浼犵殑鏂囦歡綾誨瀷錛屼緥濡俲pg銆乸ng絳夈
- MIME綾誨瀷媯鏌錛氶氳繃淇鏀笴ontent-Type瀛楁墊潵嬈洪獥鏈嶅姟鍣ㄣ
- 澶嶆潅緇曡繃鎶宸錛氬寘鎷浣嗕笉闄愪簬鏂囦歡澶存嫻嬨佷簩嬈℃覆鏌撱佹潯浠剁珵浜夊拰鍑芥暟緇曡繃錛堝倈etimagesize銆乪xif_imagetype錛夈
鍦╱pload-labs鎸戞垬涓錛屾瘡鍏抽兘鏈夐拡瀵規х殑闃插盡絳栫暐錛屼緥濡傜鍗佷竴鍏崇殑鐧藉悕鍗曞拰絎鍗佷簩鍏崇殑瑙g爜絳栫暐錛岄渶瑕佸瘑鍒囧叧娉ㄥ苟瀛︿範搴斿廣
婕忔礊淇澶嶄笌闃茶寖鎺鏂斤細
- 瑙f瀽婕忔礊淇澶錛欼IS銆丄pache鍜孨ginx鍒嗗埆閲囧彇紱佹墽琛屻侀噸鍛藉悕鏂囦歡鍜岄厤緗瀹夊叏閫夐」絳夋帾鏂姐
- HP-FastCGI婕忔礊錛氬崌綰Nginx鐗堟湰浠ラ伩鍏%00絀哄瓧鑺傛墽琛屾紡媧炪
- 緙栬緫鍣ㄦ紡媧錛氬規祦琛岀紪杈戝櫒濡俇Editor銆乪WebEdit絳夎繘琛屽畨鍏ㄦ洿鏂板拰閰嶇疆銆
闃插盡鎵嬫電殑娣卞寲錛
- WAF緇曡繃錛氶氳繃鏁版嵁鍖呰В鏋愬拰鍙傛暟鍚嶈В鏋愭妧宸э紝闇鍏蟲敞鎮舵剰鏁版嵁鐨勬敞鍏ユ柟寮忋
- 鐗規畩瀛楃︾粫榪囨妧宸錛氬寘鎷鎹㈣屻佸垎鍙鋒埅鏂浠ュ強瀛楁靛悕鐨勫彉鎹㈠拰閲嶅嶆暟鎹鍒╃敤銆
鎯寵佹洿娣卞叆鍦頒簡瑙h繖浜涙妧宸у拰瀹炴垬搴旂敤錛屽彲浠ュ弬鑰冮摼鎺ヤ腑鐨勮︾粏鏁欑▼鍜屾祴璇曠粨鏋溿傛渶鍚庯紝紜淇濆畨鍏ㄤ慨澶嶆帾鏂斤紝濡傚悗絝楠岃瘉銆佺櫧鍚嶅崟榪囨護銆佹潈闄愯劇疆鍜屽唴瀹規嫻嬶紝鏄闃叉㈡枃浠朵笂浼犳紡媧炵殑鍏抽敭姝ラゃ
緇撹猴細鏂囦歡涓婁紶婕忔礊鐨勯槻鑼冨苟闈炴槗浜嬶紝瀹冮渶瑕佸紑鍙戣呭叿澶囨繁鍏ョ殑鎶鏈鐞嗚В錛岀粨鍚堝疄闄呭満鏅閲囧彇澶氱嶉槻寰℃墜孌點傛寔緇鍏蟲敞鏈鏂扮殑婕忔礊鍔ㄦ佸拰瀹夊叏鏇存柊錛屾槸淇濋殰Web瀹夊叏鐨勯噸瑕佷竴鐜銆
B. 文件上傳漏洞如何搭建
文件上傳是Web應用中比較常見的功能,用戶經常會通過文件上傳的功能分享照片、修改頭像或上傳附件等操作;文件上傳漏洞是指用戶上傳了一個可執行的腳本文件,並通過此腳本文件獲得了執行服務端命令的能力;文件上傳本身是一個網站正常的業務需求,但如果文件在上傳之後,伺服器端沒有妥善的處理,就會導致嚴重的後果。簡單寫一個php上傳代碼演示php上傳漏洞。
1.首先搭建phpstudy的安裝環境,在phpstudy網站根目錄建立php演示文件夾,放入php文件上傳代碼。
2.php文件上傳漏洞演示代碼,代碼未限制任何文件屬性的上傳。
3.
寫一個phpinfo.php文件,通過瀏覽器訪問進行上傳。
4.
提示上傳成功,保存於uploads路徑中,可以猜想保存路徑為http://10.10.10.1/php/uploads
5.
嘗試訪問phpinfo.php文件使用剛才猜想的路徑,http://10.10.10.1/php/uploads/phpinfo.php,phpinfo函數被執行。
C. 文件上傳漏洞
在上網的過程中,經常會將一些如圖片、壓縮包之類的文件上傳到遠端伺服器進行保存。文件上傳攻擊指的是惡意攻擊者利用一些站點沒有對文件的類型做很好的校驗,上傳了可執行的文件或者腳本,並且通過腳本獲得伺服器上相應的權利,或者是通過誘導外部用戶訪問、下載上傳的病毒或木馬文件,達到攻擊的目的。為了防範用戶上傳惡意的可執行文件和腳本,以及將文件上傳伺服器當做免費的文件存儲伺服器使用,我們需要對上傳的文件類型進行白名單(非黑名單,這點非常重要)校驗,並且限制上傳文件的大小,上傳的文件需要進行重新命名,使攻擊者無法猜測到上傳文件的訪問路徑。
對於上傳的文件來說,不能簡單地通過後綴名稱來判斷文件的類型,因為惡意攻擊可以將可執行文件的後綴名稱改成圖片或者其他後綴類型,誘導用戶執行。因此,判斷文件類型需要使用更安全的方式。很多類型的文件,起始的幾個位元組內容是固定的,因此,根據這幾個位元組的內容,就可以確定文件類型,這幾個位元組也被稱為魔數( magic number)。
D. 常見36種WEB滲透測試漏洞描述及解決方法-文件上傳
漏洞描述:文件上傳漏洞通常由於網頁代碼中的文件上傳路徑變數過濾不嚴或webserver相關解析漏洞未修復而造成的,如果文件上傳功能實現代碼沒有嚴格限制用戶上傳的文件後綴以及文件類型,攻擊者可通過 Web 訪問的目錄上傳任意文件,包括網站後門文件,進而遠程式控制制網站伺服器。
解決方法:
在前後端對上傳文件類型限制,如後端的擴展名檢測,重命名文件,MIME類型檢測以及限制上傳文件的大小,或將上傳文件放在安全路徑下;嚴格限制和校驗上傳的文件,禁止上傳惡意代碼的文件。同時限制相關目錄的執行許可權,防範webshell攻擊;對上傳文件格式進行嚴格校驗及安全掃描,防止上傳惡意腳本文件;設置許可權限制,禁止上傳目錄的執行許可權;嚴格限制可上傳的文件類型;嚴格限制上傳的文件路徑;文件擴展名服務端白名單校驗;文件內容服務端校驗;上傳文件重命名,並隱藏上傳文件路徑。