修改Nginx/Tengine版本名稱僞裝任意WEB SERVER

原文:https://www.cnblogs.com/project/p/5095458.html

原作者寫的很好,但是缺少一些東西,我這裏做一下補充。

現在Web Server使用廣泛,針對它的攻擊也越來越多,Nginx這玩意出道時間也並不長,雖然國內很多門戶網站都用它,小內存VPS用戶也愛它,但是我可不想哪天它爆出了個驚天BUG,上次80sec公佈的Nginx相關PHP FPM漏洞就是警示哦,倘若僞裝了我的Nginx服務器,攻擊者就不知道我使用的是何種Web Server,也就無從下手了。

一共修改3個位置,一個是nginx.h、另一個是ngx_http_header_filter_module.c、還有一個ngx_http_special_response.c。

提示:以下修改需要在編譯安裝Nginx之前進行,修改之後再編譯

首先去下載nginx/tengine,下載方式就不說了,直接到解壓完壓縮包的步驟開始:

tenegine/nginx解壓完後的文件目錄如下

第一步:修改src/core/nginx.h(Nginx內部的名稱和版本號)

#define NGINX_VERSION      "1.8.0"
#define NGINX_VER          "NGINX/" NGINX_VERSION

NGINX_VERSION是版本號,NGINX_VER是名稱

 

第二步:修改src/http/ngx_http_header_filter_module.c(HTTP ResponseHeader,就是調試的時候看到的

static char ngx_http_server_string[] = "Server: nginx" CRLF;

 

第三步:修改src/http/ngx_http_special_response.c(修改錯誤頁的底部Footer)

static u_char ngx_http_error_tail[] =
"<hr><center>nginx</center>" CRLF
"</body>" CRLF
"</html>" CRLF
;

改完這些後,就可以make install了,然後啓動nginx,訪問就可以看到改變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章