欢迎大家来到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