您現在的位置是:

【驗證可用】解決阿里云服務器報“wordpress IP驗證不當”漏洞

Jkay05-10 13:43:04649

WordPress的小伙伴,在登陸阿里云服務器后臺時,有時會看到這樣的漏洞提示,“wordpress IP驗證不當漏洞”:

下面是它后臺里的文字說明:

標題: wordpress IP驗證不當漏洞

簡介: wordpress /wp-includes/http.php文件中的wp_http_validate_url函數對輸入IP驗證不當,導致黑客可構造類似于012.10.10.10這樣的畸形IP繞過驗證,進行SSRF。


修復方法其實很簡單,找到提示目錄所在的文件,當前網站目錄里面的 /wp-includes/http.php ,打開這個 http.php 文件,修改一行代碼就OK 。

wordpress 5.1 版 的修改方法如下(最新版wordpress5.2 同理)

找到 http.php 文件里的這一段,在大概 545 行左右

if ( isset( $parsed_home['host'] ) ) {

$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );

} else {

$same_host = false;

}

把其中的

$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );

修改為

$same_host = (strtolower($parsed_home['host']) === strtolower($parsed_url['host']) || 'localhost' === strtolower($parsed_url['host']));


成人抖音app至此,已經修改完畢。


成人抖音app有些老版本的wordpress可能還需要第二處修改(新版本的wordpress,比如我所知道的5.1版本,已經不用修改第二處了。)

563 行左右的 這一句。下圖中的已經是對的如果不是,就需要修改成下圖這樣。


其實很好辨認的,如果是舊版本,只有一個 ||邏輯運算符

就需要多添加一個 ,像上圖那樣, $parts[0] 總共出現三次就是對的


(老版本WordPress此處這樣修改)

if ( 127 === $parts[0] || 10 === $parts[0]

if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]



修改后,在阿里云后臺提交驗證:

驗證成功。

說明漏洞修改完畢。

總結一下,出現報錯后,只用修改第一處就行。每次wordpress系統版本自動更新后,都要修改一下 http.php 文件,然后重新驗證。這樣阿里云就不會報wordpress IP驗證不當漏洞”錯誤了。

為什么寫這篇文章,是因為我自己遇到這個問題之后,搜解決方法,結果很多都是錯的。主要是在第二處修改上,其實最新版的已經不用修改了。還有第一處,很多人寫的修改方法對小白理解來說會產生錯誤。比如下面這個:


其實就是替換一行代碼就行,而不是替換一段。我覺得好的技術教程,應該是小白都能看懂的。而不是產生歧義。

下面是某度的搜索結果,搜 wordpress IP驗證不當前7篇文章里涉及到第二處的修改,只有兩篇是對的。


甚至在這兩篇里,關于第一處修改,也是這樣寫的:


如果按照文章寫的這樣改,依然是個錯的。

你會說,某度確實是這樣,那谷歌呢?很遺憾,谷歌的也是,如果嚴格要求的話,谷歌是這樣的:


這個漏洞修改,說簡單真的簡單。但為什么很多文章就是寫不明白呢?我猜,大概是因為,他們很多都是復制粘貼的。或者因為,他們自己并沒有遇到這個問題。還因為,只是簡單地沒有寫明白而已。

此文獻給阿里云后臺的關,畢竟,它最關心我們服務器上的小漏洞了。

關注我

公眾號: 清單自由

成人抖音appID名: free10s

成人抖音app一個干凈的公眾號

成人抖音app分享能分享的一切

成人抖音app期待你的關注~

本欄推薦

最新文章