Gixy–分析Nginx配置檔案的工具
Gixy特性
- 找出伺服器端請求偽造。
- 驗證HTTP拆分。
- 驗證referrer/origin問題。
- 驗證是否正確透過add_header指令重新定義Response Headers。
- 驗證請求的主機頭是否偽造。
- 驗證valid_referers是否為空。
- 驗證是否存在多行主機頭。
Gixy安裝
Gixy是一個Python開發的應用,目前支援的Python版本是2.7和3.5+。
安裝步驟非常簡單,直接使用pip安裝即可:
$ pip install gixy
如果你的系統比較老,自帶Python版本比較低。可參考「使用pyenv搭建python虛擬環境」或者「如何在 上啟用軟體集Software Collections(SCL)」升級Python版本。
Gixy使用
Gixy預設會檢查/etc/nginx/nginx.conf配置檔案。
$ gixy
也可以指定NGINX配置檔案所在的位置。
$ gixy /usr/local/nginx/conf/nginx.conf ==================== Results =================== No issues found. ==================== Summary =================== Total issues: Unspecified: 0 Low: 0 Medium: 0 High: 0
來看一個http折分配置有問題的示例,修改Nginx配置:
server { … location ~ /v1/((?<action>[^.]*)/.json)?$ { add_header X-Action $action; } … }
再次執行Gixy檢查配置。
$ gixy /usr/local/nginx/conf/nginx.conf ==================== Results =================== >> Problem: [http_splitting] Possible HTTP-Splitting vulnerability. Description: Using variables that can contain “/n” may lead to http injection. Additional info: Reason: At least variable “$action” can contain “/n” Pseudo config: server { server_name localhost mike.hi-linux.com; location ~ /v1/((?<action>[^.]*)/.json)?$ { add_header X-Action $action; } } ==================== Summary =================== Total issues: Unspecified: 0 Low: 0 Medium: 0 High: 1
從結果可以看出檢測到了一個問題,指出問題型別為http_splitting。原因是$action變數中可以含有換行符。這就是HTTP響應頭拆分漏洞,透過CRLFZ注入實現攻擊。
如果你要暫時忽略某類錯誤檢查,可以使用--skips引數:
$ gixy –skips http_splitting /usr/local/nginx/conf/nginx.conf ==================== Results =================== No issues found. ==================== Summary =================== Total issues: Unspecified: 0 Low: 0 Medium: 0 High: 0
更多使用方法可以參考gixy --help 。
原文來自: https://www.linuxprobe.com/file-security-analysis.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2987773/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx配置檔案Nginx
- Nginx 配置檔案Nginx
- Nginx的配置檔案說明Nginx
- Nginx的配置檔案詳解Nginx
- Nginx配置檔案的語法格式Nginx
- Nginx 配置檔案 nginx.conf 中文詳解Nginx
- nginx.conf 配置檔案詳解Nginx
- Nginx 配置檔案引數詳解Nginx
- openresty/nginx配置多個conf檔案RESTNginx
- nginx 基本命令和檔案配置Nginx
- nginx日誌配置檔案說明Nginx
- nginx製作檢查配置bat檔案NginxBAT
- nginx 文件地址及配置檔案入門Nginx
- Linux下玩轉nginx系列(二)——nginx配置檔案說明LinuxNginx
- Nginx基礎02:配置檔案nginx.conf(Part1)Nginx
- 透過nginx配置檔案抵禦攻擊Nginx
- Nginx學習系列三Nginx的啟動、停止、修改配置檔案後重啟Nginx
- nginx同一埠配置代理不同路徑下的檔案Nginx
- nginx配置檔案語法高亮的Sublime Text擴充套件Nginx套件
- nginx的配置檔案server_name的意義 location意義NginxServer
- Nginx目錄結構與配置檔案詳解Nginx
- Nginx配置檔案詳解與優化建議Nginx優化
- Linux下玩轉nginx系列(三)---nginx日誌配置檔案說明LinuxNginx
- 從零手寫實現 nginx-13-nginx.conf 配置例子解釋 + nginx 配置檔案要如何解析?Nginx
- nginx配置web訪問以及檢視目錄檔案NginxWeb
- SpringBoot配置檔案讀取過程分析Spring Boot
- Springboot 載入配置檔案原始碼分析Spring Boot原始碼
- Nginx配置Https專案NginxHTTP
- nginx日誌分析工具goaccessNginxGo
- Nginx配置靜態檔案服務從入門到精通Nginx
- Java讀取properties配置檔案工具包Java
- ssm的配置檔案SSM
- Nginx 多 Laravel 專案配置NginxLaravel
- 使用docker執行nginx服務,掛載自定義配置檔案DockerNginx
- Git配置配置檔案Git
- Roslyn 分析器 讀取 csproj 專案檔案的 AdditionalFiles Item 的 Metadata 配置ROS
- nginx偽靜態檔案Nginx
- Mysql資料庫配置檔案(my.ini)分析MySql資料庫