首页 > 编程语言 >RASP部署笔记

RASP部署笔记

时间:2024-02-29 09:24:52浏览次数:28  
标签:RASP 部署 检测 代码 笔记 防护 Dxmrasp 攻击

一.什么是RASP

RASP全称是Runtime Application Self Protect,其基本思路是将防护代码注入到应用运行的关键函数中,实现应用运行态的入侵检测与防护。

例如,为了检测任意文件上传攻击,我们可以将防护代码注入到文件写入基础函数中。在java中,这个函数是FileOutputStream的构造函数。我们通过在FileOutputStream构造函数中注入检测代码,即可以拿到被写入的文件路径。如果被写入的文件路径是由外部请求参数传递而来,那么就可以判断存在任意文件上传攻击。 对于远程命令执行攻击也是如此,我们可以向jre提供的命令执行基础函数中注入防护代码,在命令执行时检测命令行是否由请求参数传递而来,从而检测远程命令执行攻击。

由于RASP内嵌在应用程序中,通过攻击结果反推攻击过程,因此,其攻击检测具备较高的精准度。
二.使用Java Insrumentation注入安全防护代码

Java提供了Java Instrumentation机制,允许开发者在JVM进行类加载时,对java字节码进行修改。

java程序部署RASP举例:
将rasp20231031拷贝到测试服务器的/home/http/projectTest目录下,然后修改tomcat的setenv.sh
配置修改:
export CATALINA_OPTS=" -javaagent:/home/http/projectTest/rasp20231031/agent.jar -Dxmrasp.ip=36.223.173.16:8088 -Dxmrasp.token=7ke9ass8es -Dxmrasp.password=pass123456 -Dxmrasp.nodename=testProj_3 -Dxmrasp.app.name=TestProj_ToB -Dxmrasp.log.level=DEBUG -Dxmrasp.log.mode=file"

重启tomcat

标签:RASP,部署,检测,代码,笔记,防护,Dxmrasp,攻击
From: https://www.cnblogs.com/risheng777/p/18042660

相关文章

  • 《系统科学方法概论》第三章读书笔记
    读完《系统科学方法概论》的第三章后,我对系统科学方法有了更深入的理解和认识。这一章介绍了系统分析方法,让我明白了如何从整体的角度去理解和研究复杂的系统。系统分析强调对系统的各个组成部分进行全面的考察,并考虑它们之间的相互关系。这种方法帮助我更好地把握系统的本质和特......
  • 《系统科学方法概论》第四章读书笔记
    读完《系统科学方法概论》的第四章后,我对系统分析方法有了更深入的理解和认识。这一章详细介绍了系统分析的概念、步骤和方法,让我明白了系统分析在解决复杂问题中的重要性。通过对系统的各个组成部分进行分解和分析,我们可以更好地理解系统的整体行为和特性。我认识到系统分析需......
  • 《系统科学方法概论》第五章读书笔记
    读完《系统科学方法概论》的第五章后,我对系统分析方法有了更深入的理解和认识。这一章详细介绍了系统分析的概念、步骤和方法,让我明白了系统分析在解决复杂问题中的重要性。通过对系统的各个组成部分进行分解和研究,我们可以更好地理解系统的整体行为和特性。我认识到系统分析需......
  • 《程序是怎样跑起来的》第九章读书笔记
    在阅读第九章后,我对文件和文件系统有了更全面的认识。这一章详细介绍了文件的概念、文件的存储与管理方式,以及文件系统的工作原理。我了解到文件是数据的长期存储形式,它们在计算机系统中起着至关重要的作用。文件系统提供了一种组织和管理文件的方式,使得我们能够方便地存储、读取......
  • 《程序是怎样跑起来的》第十章读书笔记
    读完第十章后,我对文件和输入输出有了更全面的认识。这一章详细介绍了文件的概念、文件的操作以及输入输出的处理方式。我了解到文件作为数据的持久存储介质,在程序中起着重要的作用。通过文件,我们可以将数据长期保存下来,并在需要时进行读取和处理。文件的管理和操作需要注意文件的......
  • C++ 多线程笔记1 线程的创建
    C++多线程笔记1线程的创建里面代码会用到的头文件#include<iostream>#include<string>#include<memory>#include<thread>#include<vector>#include<stdlib.h>#include<cmath>#include<chrono>#include<ctime>入门例子vo......
  • 《程序是怎样跑起来的》第十一章读书笔记
    读完第十一章后,我对程序的文件和I/O有了更全面的认识。这一章详细介绍了文件的概念、文件的操作以及I/O流的处理。我了解到文件在程序中的重要作用,它不仅用于存储数据,还可以实现数据的持久化和共享。通过对文件的读取和写入操作,程序能够与外部世界进行交互。同时,我学到了不......
  • 《程序是怎样跑起来的》第十二章读书笔记
    在阅读第十二章后,我对程序的文件I/O有了更全面的理解。这一章详细介绍了文件的概念、文件的操作以及文件与磁盘的关系。我深刻认识到文件在程序中的重要性。文件是程序与外部世界交互的重要途径,通过文件,我们可以存储和读取数据,实现数据的持久化。了解文件的操作方式,如打开、读......
  • 1.23构建之法阅读笔记一
    《构建之法》是一本深刻探讨软件开发方法和流程的书籍,它不仅涵盖了软件开发的全过程,还深入探讨了如何通过各种方法提高软件的质量和可靠性。作者通过丰富的案例和生动的语言,阐述了软件开发中的各种问题和挑战,启发读者对未来的思考。书中的主题包括软件开发的方法和流程,以及如何......
  • 构建之法阅读笔记二
    《构建之法》是一本深刻探讨软件开发方法和流程的书籍,它不仅涵盖了软件开发的全过程,还深入探讨了如何通过各种方法提高软件的质量和可靠性。作者通过丰富的案例和生动的语言,阐述了软件开发中的各种问题和挑战,启发读者对未来的思考。书中的主题包括软件开发的方法和流程,以及如何......