WEB主題公園
WordPress原創(chuàng)主題,高端網(wǎng)站模板建站,網(wǎng)站模板建站資源以及開發(fā)知識分享,盡在WEB主題公園
WEB主題公園致力于開發(fā)適合中國人習(xí)慣的中文WordPress網(wǎng)站模板,并提供全程視頻教程,讓您能夠輕松的使用網(wǎng)站模板建立好自己的網(wǎng)站!
近期wordpress被檢測出漏洞的解決方法
wordpress是一款非常優(yōu)秀的開源程序,更新速度也非常的快,因此漏洞很快就會被新的版本給更新好。
但是任何一款程序都是會有漏洞的,所以才會不斷地有更新,那么下面我們就對近期wordpress在第三方檢測工具,如360網(wǎng)站衛(wèi)士檢測平臺,阿里云掃描等等檢測出來的一些漏洞進行分析。
那些漏洞是什么原因造成的,以及臨時的解決方法。
wordpress WP_Image_Editor_Imagick漏洞
這個漏洞準(zhǔn)確的來說并不是wordpress的漏洞,而是由于ImageMagick這個PHP圖像處理模塊爆出的“0day”漏洞所引發(fā)的。
ImageMagick是什么
ImageMagick是一個免費的創(chuàng)建、編輯、合成圖片的軟件。它可以讀取、轉(zhuǎn)換、寫入多種格式的圖片。圖片切割、顏色替換、各種效果的應(yīng)用,圖片的旋轉(zhuǎn)、組合,文本,直線,多邊形,橢圓,曲線,附加到圖片伸展旋轉(zhuǎn)。ImageMagick是免費軟件:全部源碼開放,可以自由使用,復(fù)制,修改,發(fā)布,它遵守GPL許可協(xié)議,可以運行于大多數(shù)的操作系統(tǒng),ImageMagick的大多數(shù)功能的使用都來源于命令行工具。
這個應(yīng)用程序所出的漏洞需要ImageMagick出來新的版本進行更新之后才能修復(fù),如果你的服務(wù)器商沒有更新這個lo那么如果我們希望能夠馬上修復(fù)好這個漏洞,只能是使用臨時的方法去修復(fù)了,通過修改wordpress的一些代碼來禁用ImageMagick,就能達到修復(fù)的目的:
在wp-includes/media.php中搜索
$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD' ) );
修改為
$implementations = apply_filters( 'wp_image_editors', array('WP_Image_Editor_GD','WP_Image_Editor_Imagick' ) );
若不想修改wordpress源代碼,那么可以在你的主題function.php文件中添加(WEB主題公園的付費用戶請在widget.php中添加)如下代碼:
add_filter( 'wp_image_editors', 'cmp_change_graphic_lib' );
function cmp_change_graphic_lib($array) {
return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}
這樣就能夠解決這個漏洞的問題了。
wordpress后臺插件更新模塊任意目錄遍歷導(dǎo)致DOS漏洞
這個漏洞是在WordPress后臺文件/wp-admin/includes/ajax-actions.php中
代碼插件路徑的輸入?yún)?shù)plugin未進行正確的規(guī)范化轉(zhuǎn)義,導(dǎo)致黑客可傳入特殊路徑,造成拒絕服務(wù)。
修復(fù)的方法:
1.在文件ajax-actions.php的3068行附近:
$plugin = urldecode( $_POST['plugin'] );
在這段代碼后面加上:
$plugin = plugin_basename( sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) );
2.在文件ajax-action.php中大概3004行:
if ( $plugin_update_data === true ) {??? wp_send_json_error( $status ); }
修改為:
if ( $plugin_update_data === true ) {$status['error'] = __( 'Plugin update failed.' ); wp_send_json_error( $status ); }
3.找到3025行:
if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {? $status['error'] = $wp_filesystem->errors->get_error_message();??? } wp_send_json_error( $status ); } }
修改為:
if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {???? $status['error'] = $wp_filesystem->errors->get_error_message();?? } wp_send_json_error( $status ); } else {// An unhandled error occured$status['error'] = __( 'Plugin update failed.' ); wp_send_json_error( $status ); } }
這樣這個漏洞就修復(fù)完成了。
目前wordpress4.6.1版本在第三方檢測工具中檢測到的漏洞大概就是這兩個漏洞了,如果你還通過其他的渠道檢測出來漏洞或者有更好的方法解決也可以分享給大家。
如未標(biāo)明出處,所有文章均為WEB主題公園原創(chuàng),如需轉(zhuǎn)載,請附上原文地址,感謝您的支持和關(guān)注。
本文地址:http://www.dengyin90.cn/jqwordpressbjcclddjjff.html
推薦閱讀
- 2016年9月12日
- 2021年7月7日
- 2016年12月5日
- 2015年12月21日
- 2021年2月4日
- 2013年5月17日
- 2017年10月18日
- 2025年5月12日
- 2016年12月28日




