漏洞說明
為了方便的獲得網(wǎng)站域名,開發(fā)人員一般依賴于HTTP Host header。例如,在php里用_SERVER[“HTTP_HOST”]。但是這個(gè)header是不可信賴的,如果應(yīng)用程序沒有對(duì)host header值進(jìn)行處理,就有可能造成惡意代碼的傳入。
解決方法
綠盟建議:
web應(yīng)用程序應(yīng)該使用SERVER_NAME而不是host header。
在Apache和Nginx里可以通過設(shè)置一個(gè)虛擬機(jī)來記錄所有的非法host header。在Nginx里還可以通過指定一個(gè)SERVER_NAME名單,Apache也可以通過指定一個(gè)SERVER_NAME名單并開啟UseCanonicalName選項(xiàng)。
修復(fù)過程
配置server塊default_server,處理沒請(qǐng)求到具體url的請(qǐng)求
server {
listen 80 default_server;
server_name _;
location / {
return 403;
}
}
nginx 的 default_server 指令可以定義默認(rèn)的 server 去處理一些沒有匹配到 server_name 的請(qǐng)求,如果沒有顯式定義,則會(huì)選取第一個(gè)定義的 server 作為 default_server。文章來源:http://www.zghlxwxcb.cn/news/detail-588726.html
之后將后續(xù)的server_name配置上準(zhǔn)確的可訪問的地址,重啟nginx即可文章來源地址http://www.zghlxwxcb.cn/news/detail-588726.html
#其余server配置
server_name 127.0.0.1 192.168.1.1 www.test.com;
#重啟
nginx -s reload
到了這里,關(guān)于nginx漏洞修復(fù)之檢測(cè)到目標(biāo)URL存在http host頭攻擊漏洞的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!