注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

【转载】PHP 突破Disable_functions限制危险函数 执行命令  

2014-12-29 20:27:43|  分类: 渗透测试 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


0x6161

今天把丢了shell的站又搞了一次,又拿到了shell,只支持php的站,

但是菜刀不能执行命令,提示远程启用了安全模式。。

用大马也不能执行命令,遇到故障,就要解决。。。


PHP 突破Disable_functions限制危险函数 执行命令 - hackxc - 小城的博客。。。。

是server2008的机器,记得以前拿过,直接是系统权限的。。。

明明上面提示system权限运行了,为毛不能执行命令,我分析下原因

1.防火墙的原因

2.php开了安全模式safe_mode=on

3.Php使用了Disable_functions限制危险函数

先排除防火墙原因,难道他防火墙那么吊,可以在请求包中过滤掉php

危险函数。

安全模式是safe_mode=on,如果开启了安全模式所有输入输出函数(例如

fopen()、file()和require())的适用会受到限制,只能用于与调用这些函数

的脚本有相同拥有者的文件。例如,假定启用了安全模式这个怎查看呢,其实很

简单,执行phpinfo()后里面就可以直接查看

PHP 突破Disable_functions限制危险函数 执行命令 - hackxc - 小城的博客。。。。


是关的,那我们就可以排除是安全模式导致的。。

那就是第三种可能了,Disable_functions限制危险函数执行,我们先试试一个print函数是否

可以执行

PHP 突破Disable_functions限制危险函数 执行命令 - hackxc - 小城的博客。。。。
 



可以看到print这样的函数是可以执行的,那我们试试exec执行命令函数

PHP 突破Disable_functions限制危险函数 执行命令 - hackxc - 小城的博客。。。。


果断被拦截了,当前大家会说还有其他的执行外部命令的函数例如

exec(),system(),passthru(),shell_exec(),反撇号;经过测试都不行。

现在我可以非常肯定是Disable_functions的问题,我们查看下是否限制的危险函

PHP 突破Disable_functions限制危险函数 执行命令 - hackxc - 小城的博客。。。。


我遇到的是php5.2.7那我们该如何突破呢,

在liunx下如果没有限制dl()函数。我们可以使用dl()调用php扩展模块,然后写入函数,执

行命令。。但是在windwos下貌似是不可以的。。

但是可以利用php的COM(ComponentObjectModel,组件对象模型)调用

WScript.Shell执行命令

PHP的Windows版本已经内置该扩展模块的支持。无需加载任何附加扩展库即

可使用COM函数。它的使用方法类似于C++或Java中类的创建的语法,并把COM

的类名作为参数传递到构造函数。例如使用在PHP中调用“WScript.Shell”执

行系统命令:

$cmd=”E:/cert/admin/psexec.exe”;


if($com=newCOM("WScript.Shell"))echo"yes";

if(!$cmd1=$com->exec($cmd))

{

echo"cannotexec()";

}

if(!$cmd2=$cmd1->stdout())

{

echo"cannotstdout()";

}

if(!$cmd3=$cmd2->readall())

{

echo"cannotreadall()";

}

echo$cmd3;

?>

------------------------------------------------

于是乎我试着写了一个利用的php脚本,测试是可以的

PHP 突破Disable_functions限制危险函数 执行命令 - hackxc - 小城的博客。。。。


哈哈,心情爽


付代码

PHP 突破Disable_functions限制危险函数 执行命令 - hackxc - 小城的博客。。。。

没学过php写的不好,自己瞎写的,我凑合用就行。。

-----------------------------------------------------------------

---------------------------------

如果是liunx环境下,也有突破的办法,利用php的dl函数扩展模块进行突破,

但是条件是

1.safe_mode为off

2.disable_function没有禁止dl()函数

3.并且enable_dl为on

如果满足这个三个条件,就可以自己编辑扩展模块,然后上传到目标网站,然后

进行突破。我自己在kail用扩展模块测试了几次没成功,但是这个方法是绝对可以

的。。。实际搞站的时候高版本php的enable_dl好多都是off,所以大部分不行。。

哪位在实际搞站过程中,成功利用了,麻烦介绍和我说一下。。。

注:以上均是个人观点,难免有错误的地方。。。

Hackby小城

邮箱:adminxc@cjsmsa.gov.cn

 

  评论这张
 
阅读(67)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017