wordpress函數wp_http_validate_url畸形IP繞過驗證SSRF漏洞

阿里雲提示:wordpress /wp-includes/http.php文件中的wp_http_validate_url函數對輸入IP驗證不當,致使黑客可構造相似於012.10.10.10這樣的畸形IP繞過驗證,進行SSRF;php

修復方法:wordpress

http.php 540行函數

preg_match('#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host)

改爲測試

preg_match('#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d|0+\d+)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host)

既增長對0開頭的012.10.10.10這樣的IP進行驗證,我的簡單測試用例結果:阿里雲

網上轉(訛)載(傳)的修改方法url

這個是什麼意思呢?懂代碼的都知道它只是判斷域名,沒對IP作驗證,因此這樣或許能夠騙過阿里雲的漏洞檢測(我沒去試),可是這樣仍然是沒有真正意義上的修復漏洞,那麼……code

各位看官以爲有什麼不對的可評論指出,have  fun~blog

相關文章
相關標籤/搜索