一、wordpress函數(shù)wp_http_validate_url畸形IP繞過驗(yàn)證SSRF漏洞
原文:https://blog.csdn.net/dclnet/article/details/81869078
阿里云提示:wordpress /wp-includes/http.php文件中的wp_http_validate_url函數(shù)對(duì)輸入IP驗(yàn)證不當(dāng)郊尝,導(dǎo)致黑客可構(gòu)造類似于012.10.10.10這樣的畸形IP繞過驗(yàn)證住涉,進(jìn)行SSRF;
修復(fù)方法:
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)
既增加對(duì)0開頭的012.10.10.10這樣的IP進(jìn)行驗(yàn)證信柿,簡單測試用例結(jié)果:
網(wǎng)上轉(zhuǎn)(訛)載(傳)的修改方法
這個(gè)是什么意思呢冀偶?懂代碼的都知道它只是判斷域名,沒對(duì)IP做驗(yàn)證渔嚷,所以這樣或許可以騙過阿里云的漏洞檢測(我沒去試)进鸠,但是這樣仍然是沒有真正意義上的修復(fù)漏洞,那么……
各位看官覺得有什么不對(duì)的可評(píng)論指出
二形病、 阿里云給出的漏洞說明
原文:https://www.liwei8090.com/2831.html
今天登陸阿里云服務(wù)器控制臺(tái)客年,提示網(wǎng)站存在漏洞,等級(jí)為“需盡快修復(fù)”漠吻。對(duì)于我這種強(qiáng)迫癥的人來說量瓜,這樣的提醒當(dāng)然是越早消滅掉越好。下面是阿里給出的“wordpress IP驗(yàn)證不當(dāng)漏洞”說明:
基本信息
標(biāo)題: wordpress IP驗(yàn)證不當(dāng)漏洞
披露時(shí)間: 1970-01-01 08:00:00
簡介:
wordpress /wp-includes/http.php文件中的wp_http_validate_url函數(shù)對(duì)輸入IP驗(yàn)證不當(dāng)途乃,導(dǎo)致黑客可構(gòu)造類似于012.10.10.10這樣的畸形IP繞過驗(yàn)證绍傲,進(jìn)行SSRF。
解決方案:
方案一:使用云盾自研補(bǔ)丁進(jìn)行一鍵修復(fù)耍共;
方案二:更新該軟件到官方最新版本或?qū)で笤撥浖峁┥痰膸椭?/p>
【注意:該補(bǔ)丁為云盾自研代碼修復(fù)方案烫饼,云盾會(huì)根據(jù)您當(dāng)前代碼是否符合云盾自研的修復(fù)模式進(jìn)行檢測,如果您自行采取了底層/框架統(tǒng)一修復(fù)试读、或者使用了其他的修復(fù)方案杠纵,可能會(huì)導(dǎo)致您雖然已經(jīng)修復(fù)了該漏洞,云盾依然報(bào)告存在漏洞鹏往,遇到該情況可選擇忽略該漏洞提示】
如何修復(fù)
1淡诗、在路徑:/data/wwwroot/www.liwei8090.com/wp-includes/http.php找到http.php文件,用Notepad++打開(修改之前記得先備份http.php原文件)伊履,大概在533行(不同的WordPress版本可能行數(shù)不同韩容,你可以查找關(guān)鍵詞進(jìn)行查找):
$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']));
2、在http.php文件的549行:
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]
/*修改為:*/
if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0] || 0 === $parts[0]
漏洞修復(fù)完成
修改完以上內(nèi)容唐瀑,然后再到阿里云盾控制臺(tái)重新驗(yàn)證一下漏洞群凶,就會(huì)發(fā)現(xiàn)漏洞已經(jīng)不存在了。