皮皮网

【eclemma 源码】【wp整站源码打包】【协议栈源码分析】weblogic 源码分析

来源:源码超市拍照调色 时间:2024-12-23 21:50:51

1.网上拿到的源码java源代码怎么用?
2.代码跟源码有什么区别
3.一文看懂内存马

weblogic 源码分析

网上拿到的java源代码怎么用?

       网上下载的java代码怎么运行?

       如果是runnable的jar,直接双击就可以运行

       如果是分析源码,导入到eclipse里编译运行

       JAVA源代码怎么运行

       .java文件的源码话,非项目那种单篇幅的分析源代码需要先进行编译,生成.class文件可以在命令控制台下用java文件名进行运行,源码编译java文件需要javac.exe程序应该是分析eclemma 源码jdk中的工具,所以你需要下载jdk并配置环境变量,源码然后在控制台运行javac编译源文件所在目录下的分析java文件,会在本目录下生成一个同名的源码.class文件

       (没有报错的情况下),然后运行java文件名即可运行该代码(前提是分析你这篇文件需要有main方法)。

网上的源码那些java源代码怎么用

       教你个比较实用的方法:

       先弄清楚这个源代码是什么工程,自己创建一个这样的分析工程,复制这个源代码的源码src目录,覆盖你的分析src目录,这样的源码wp整站源码打包好处是不会有jdk版本和乱码的问题。

Java网站的源代码怎么在本地运行

       首先java网站是基于jdk运行的。你得先装jdk。去官网下载一个jdk安装。然后你得编译你的项目,打包到容器(tomcat,weblogic,jboss等)中运行即可。再提醒一下就是,看看你的源代码有木有用到数据库或者其他类型的服务。如果有的话,你得装数据库或服务,并且初始化数据。再启动你的你的容器。

代码跟源码有什么区别

       源代码一般指的是:Html代码。

       而代码指的是服务器所解析的语言,即服务器将代码翻译成为源代码。协议栈源码分析这种源代码浏览器可以识别,并从网页里面按照一定规则显示给用户,也就是我们看到的网页。

       代码一般有:asp,php,aspx,jsp等等。

       IIs将asp,aspx语言翻译成为Html语言。

       apache可以将php=>html

       tomcat,weblogic可以将jsp->html.

一文看懂内存马

       webshell的变迁过程大致如下:

       web服务器管理页面——> 大马——>小马拉大马——>一句话木马——>加密一句话木马——>加密内存马

       内存马是无文件攻击的一种常用手段,随着攻防演练热度越来越高:攻防双方的博弈,流量分析、EDR等专业安全设备被蓝方广泛使用,传统的文件上传的webshll或以文件形式驻留的后门越来越容易被检测到,内存马使用越来越多。歪歪漫画源码最新

       Webshell内存马,是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。但传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度。

       目标:访问任意url或者指定url,带上命令执行参数,即可让服务器返回命令执行结果

       实现:以java为例,bios引导程序源码客户端发起的web请求会依次经过Listener、Filter、Servlet三个组件,我们只要在这个请求的过程中做手脚,在内存中修改已有的组件或者动态注册一个新的组件,插入恶意的shellcode,就可以达到我们的目的。

       根据内存马注入的方式,大致可以将内存马划分为如下两类

       1.servlet-api型 通过命令执行等方式动态注册一个新的listener、filter或者servlet,从而实现命令执行等功能。特定框架、容器的内存马原理与此类似,如spring的controller内存马,tomcat的valve内存马 2.字节码增强型 通过java的instrumentation动态修改已有代码,进而实现命令执行等功能。

       2.1 Servlet

       Servlet 是运行在 Web 服务器或应用服务器上的程序,是作为来自 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。它负责处理用户的请求,并根据请求生成相应的返回信息提供给用户。

       2.1.1 Filter

       简介

       filter也称之为过滤器,是对Servlet技术的一个强补充,其主要功能是在HttpServletRequest到达 Servlet 之前,拦截客户的HttpServletRequest ,根据需要检查HttpServletRequest,也可以修改HttpServletRequest 头和数据;在HttpServletResponse到达客户端之前,拦截HttpServletResponse ,根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。

       基本工作原理

       实现

       filter的生命周期

       filter链 当多个filter同时存在的时候,组成了filter链。web服务器根据Filter在web.xml文件中的注册顺序,决定先调用哪个Filter。当第一个Filter的doFilter方法被调用时,web服务器会创建一个代表Filter链的FilterChain对象传递给该方法,通过判断FilterChain中是否还有filter决定后面是否还调用filter。

       2.1.3 Listener

       简介

       JavaWeb开发中的监听器(Listener)就是Application、Session和Request三大对象创建、销毁或者往其中添加、修改、删除属性时自动执行代码的功能组件。

       用途

       可以使用监听器监听客户端的请求、服务端的操作等。通过监听器,可以自动出发一些动作,比如监听在线的用户数量,统计网站访问量、网站访问监控等。

       2.2 Tomcat

       Tomcat 作为Servlet容器,将http请求文本接收并解析,然后封装成HttpServletRequest类型的request对象,传递给servlet;同时会将响应的信息封装为HttpServletResponse类型的response对象,然后将response交给tomcat,tomcat就会将其变成响应文本的格式发送给浏览器。

       2.3 其他java背景知识

       2.3.1 java反射

       2.3.2 java instrumentation

       3 内存马实现

       使用新增servlet的方式就需要绑定指定的URL。如果我们想要更加隐蔽,做到内存马与URL无关,无论这个url是原生servlet还是某个struts action,甚至无论这个url是否真的存在,只要我们的请求传递给tomcat,tomcat就能相应我们的指令,那就得通过注入新的或修改已有的filter或者listener的方式来实现了。比如早期rebeyond师傅开发的memshell,就是通过修改org.apache.catalina.core.ApplicationFilterChain类的internalDoFilter方法来实现的,后期冰蝎最新版本的内存马为了实现更好的兼容性,选择hook javax.servlet.http.HttpServlet#service 函数,在weblogic选择hook weblogic.servlet.internal.ServletStubImpl#execute 函数。

       4 内存马检测与排查

       在java中,只有被JVM加载后的类才能被调用,或者在需要时通过反射通知JVM加载。所以特征都在内存中,表现形式为被加载的class。需要通过某种方法获取到JVM的运行时内存中已加载的类, Java本身提供了Instrumentation类来实现运行时注入代码并执行,因此产生一个检测思路:注入jar包-> dump已加载class字节码->反编译成java代码-> 源码webshell检测。