WordPress IP驗證不當的解決辦法及感慨

阿里雲的雲盾提醒「WordPress IP驗證不當」,具體信息是「wordpress /wp-includes/http.php 文件中的 wp_http_validate_url 函數對輸入 IP 驗證不當,致使黑客可構造相似於 012.10.10.10 這樣的畸形 IP 繞過驗證,進行 SSRF」。它殘忍的給出了兩個方案:「本身流弊本身搞定,本身小白花錢我罩着!」php

這樣的方式我感受有點像收保護費的意思,可是確實用戶有這個訴求存在,普通用戶不可能有精力和能去去盯着和解決安全漏洞。因而這樣一個有着商業價值的需求天然會誕生商業的運做並呈現給咱們。雖然通常用戶是很不情願花這筆錢的,這就跟現實中通常人請不起保鏢同樣,更多時候更願意買一份保險,過後兜底。git

爲了省錢,固然人家提醒了你有漏洞,你也不能熟視無睹,萬一哪天出問題了仍是本身損失。因而咱們下意識的搜索了一下,看看是否是有大俠放出了免費的解決辦法。一搜之下,還真多,仔細看看基本是複製轉帖的。可是看到下面這個感受「是真的嗎?」。就算不懂php,你這修不修改不是一回事麼?傳播的還挺普遍…這些人複製粘貼根本無論對錯,讓人有點擔心。github

if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] 將這段代碼註釋,而後在後面增長安全

if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0] 便可hexo

實際上是兩處修改的地方,在wordpress目錄下找到 wp-includes/http.phpwordpress

第一處函數

/*將這一行代碼 刪除 */
$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );

/* 並添加修改成這樣 */
if (isset($parsed_home['host'])) {
    $same_host = (strtolower($parsed_home['host']) === strtolower($parsed_url['host']) || 'localhost' === strtolower($parsed_url['host']));
} else {
    $same_host = false;
};

第二處ui

(新版本WordPress此處已修改)

/*將這一行代碼 刪除 */
if ( 127 === $parts[0] || 10 === $parts[0]

/* 並添加修改成這樣 */
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]

如今用wordpress的用戶確實愈來愈少了,加入的新用戶少,舊有的用戶在流失。最起碼流行的也是「hexo + github」打一個靜態博客。複製粘貼型的重量級選手固然是那些僞自媒體,開個百家號,在知道問答裏恣意粘貼着所謂的回答,粘貼着連本身都不知道對錯的是是而非的答案。好心又廉價的小白也在盲目轉帖轉發而根本不去深究。阿里雲

致使的就是一個錯誤修復代碼悄無聲息的傳播了,雖然附加的代碼沒什麼危害,但這種衆人盲目的行爲確實又開啓了一個漏洞,爲社會工程學攻擊提供的一種途徑。url

參考:

相對有效修復方案文章

相關文章
相關標籤/搜索