利用PHP imap反弹shell

本文探讨了PHP的imap扩展如何通过imap_open函数的ProxyCommand选项导致命令执行。利用debian系统中ssh替代rsh的行为,攻击者可以构造特定参数反弹shell。通过base64编码和替换空格来绕过解析限制,最终在靶机上成功反弹shell。
摘要由CSDN通过智能技术生成

imap为什么可以?

php imap扩展用于在PHP中执行邮件收发操作,它可以通过这种协议从邮件服务器上获取邮件的信息。其imap_open函数会调用rsh来连接远程shell,而debian/ubuntu中默认使用ssh来代替rsh的功能(也就是说,在debian系列系统中,执行rsh命令实际执行的是ssh命令)。因为ssh命令中可以通过设置-o ProxyCommand来调用第三方命令,攻击者通过注入这个参数,最终将导致命令执行。

漏洞利用

该站点监听在8080,ip:8080即可。

在这些框中随便输入参数,使用burpsuite抓包。发送到Repeater模块来修改hostname参数的值。在这里我们可以使用ProxyCommand参数执行命令。

ProxyCommand是什么?

ProxyCommand是一个指定用于连接服务器的命令。当我们执行以下这条命令时,可以发现即便我们没有建立与localhost的SSH连接,也会创建文件。

至此就知道了可以通过-oProxyCommand参数来执行系统命令。

但是我们不能直接将上述命令直接转移到PHP脚本来代替imap_open服务器地址,因为在解析时它会将空格解释为分隔符和斜杠作为标志。但是我们可以使用\$IFS这个shell

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值