记一次有趣的命令执行

记一次有趣的命令执行passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_st

欢迎大家来到IT世界,在知识的湖畔探索吧!

在一个群里面看到的,本来不想乱搞,但好几个人都说这个站坑爹变态,我的好奇心驱使我去瞧瞧,于是就有了此篇文章。

发现网站存在TP5的RCE漏洞,存在此高危漏洞还被大家说变态,一定有他的特别之处。于是首先查看了disable_functions函数看他禁止了那些函数

记一次有趣的命令执行

嗯…. 常规操作。禁止了一下函数,没啥可说。

passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

但没有禁止assert 正常情况下即可通过file_put_contents函数直接写入恶意文件拿shell了

可目标站尝试写出文件提示失败了 一般失败的原因是根目录不可写 但一般情况下 uploads 目录是可写的 但目标连uploads都不可写 有趣!~

记一次有趣的命令执行

这个时候就该判断一下是否根本就没有写出的权限或者没有执行,尝试向/tmp/ 目录下文件成功,证明代码是能够执行的,只不过是没有权限写入而已

记一次有趣的命令执行

既然assert能够正常执行,那么就先探测一下可写入目录吧,改了改目录探测脚本然后丢到目标/tmp目录中

记一次有趣的命令执行

记一次有趣的命令执行

然后包含这个文件即可,可直接include 或者使用这个exp,别问为什么不直接包含个大马,因为大马的每次操作都要发包,且使用一下POC 包含他不会接收别的值

_method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=/tmp/xx

记一次有趣的命令执行

这就尴尬了嘛…,整个web目录都不可写,网站根目录是public,目录提示可写,但是还是写不进去东西,测试好几个目录都不行之后,就不去纠结此问题了,换个思路试试。于是看看能不能反弹个shell

可disable_function 限制的很死,不能直接执行cmd,于是尝试使用下面的脚本绕过

https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD

先将所需要的 .os 写入到目标服务器上

记一次有趣的命令执行

然后修改一下调用代码写入目标服务器

记一次有趣的命令执行

查看一下,发现所需的东西都写入了

记一次有趣的命令执行

包含执行一下 看看效果

记一次有趣的命令执行

完美,接下来就是反弹shell了 我使用Python进行反弹 将反弹脚本写入到目标站中

记一次有趣的命令执行

先给权限 chmod 然后直接python执行

记一次有趣的命令执行

远程主机上线,完美。

记一次有趣的命令执行

事实证明 :

记一次有趣的命令执行

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35287.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信