JSP研究(一)

【Web安全】JSP内存马研究 前言 最近在研究webshell免杀的问题,到了内存马免杀部分发现传统的Filter或者Servlet查杀手段比较多,不太容易实现免杀,比如有些工具会将所有注册的Servlet和Filter拿出来,排查人员仔细一点还是会被查出来的,所以 我们要找一些其他方式实现的内存马。比如我今天提到的JSP的内存马(虽然本质上也是一种Servlet类型的马) 。 【学习资料】 JSP加载流程分析 在Tomcat中jsp和jspx都会交给JspServlet处理,所以要想实现JSP驻留内存,首先得分析JspServlet. 阅读详情

用jsp开发了程序好些时间了,但感觉对jsp的掌握还是不够。现在先分析一下*.jsp文件编译后的*_jsp.java 文件。
先写一个简单的my.jsp文件如下:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>baiming</title>
</head>

<body>
hello
</body>
</html>
****************************************************************
把改文件放到 tomcat根目录/webapps/ROOT 下。
运行tomcat,在地址栏里输入http://localhost:8080/my.jsp
在 tomcat根目录/work/Catalina/localhost/_/org/apache/jsp 下就会生成my_jsp.java文件。
我们现在来看看这个文件:
package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.sql.*;

public final class my_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static java.util.Vector _jspx_dependants;

  public java.util.List getDependants() {
    return _jspx_dependants;
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;


    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html; charset=gb2312");
      pageContext = _jspxFactory.getPageContext(this, request, response,
         "", true, 8192, true);
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("/r/n");
      out.write("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/" /"http://www.w3.org/TR/html4/loose.dtd/">/r/n");
      out.write("<html>/r/n");
      out.write("<head>/r/n");
      out.write("<meta http-equiv=/"Content-Type/" content=/"text/html; charset=gb2312/">/r/n");
      out.write("<title>baiming</title>/r/n");
      out.write("</head>/r/n");
      out.write("/r/n");
      out.write("<body>/r/n");
      out.write("hello/r/n");
      out.write("</body>/r/n");
      out.write("</html>/r/n");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          out.clearBuffer();
        if (pageContext != null) pageContext.handlePageException(t);
      }
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
    }
  }
}

你会发现jsp里使用的8个隐含的对象。

out.write( )用于输出html流,也就是客户端收到的html内容。

基于HetConv与Dual策略的YOLOv8轻量化设计-CSPHet结构的优化与实现 在计算机视觉中,YOLOv8作为目标检测领域的最新版本,通过引入多种改进来提升检测精度和速度。然而,提升精度和保持实时性能往往需要更多参数与计算量。本文提出一种结合Dual思想与HetConv的新型轻量化结构,称为CSPHet。CSPHet能够在保持YOLOv8检测精度的基础上有效减少约70万参数量,实现模型的轻量化和速度的提升。HetConv(Heterogeneous Convolution)是一种混合卷积技术,通过同时使用1x1、3x3等不同大小的卷积核,来捕捉不同尺度的特征。 阅读详情

相关推荐

国内网络环境下Calico v3.26.4安装避坑指南(附华为云镜像加速脚本)

本文为国内开发者提供Calico v3.26.4的高效部署指南,重点介绍如何通过华为云镜像加速服务解决Kubernetes集群网络插件镜像拉取问题。文章包含详细的镜像加速脚本、部署清单修改方法及深度排错技巧,帮助开发者快速完成Calico网络插件的安装与配置。

brown的博客 288

JSP技术方法

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。 在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问Java

牛牛码特的博客 348

微信公众号开发实战:如何高效推送模板消息(附完整代码示例)

本文详细解析了微信公众号开发中模板消息推送的核心流程与实战技巧。文章从OpenID获取、模板申请、Access Token缓存管理到完整PHP代码实现,逐步拆解了高效推送模板消息的关键步骤,并提供了可直接复用的代码示例,帮助开发者快速集成这一提升用户体验的重要功能。

weixin_29009971的博客 793

jsp 研究

1.安装配置JDK。 2.下载jspstudy开发工具。   这个工具我们仅仅需要利用里面的tomcat。如下图配置server 3.jsp工程   新建一个Dynamic Web Project,即可。 4.源码   https://git.oschina.net/zkzk945/JavaEE.git 转载于:https://www.cnblogs.com/zkzk945/p/5...

weixin_34178244的博客 209

如何判断一个程序员的技术比你强?

技术大佬与普通程序员之间存在明显的认知差异:前者善于将复杂问题抽象为经典计算机科学问题,用声明式代码替代过程式逻辑;对异常和边界条件极度敏感,具备系统化的排查方法论;代码追求高可读性而非炫技,且执着于底层原理研究。这种技术压制体现在解决问题的确定性上——通过扎实的理论功底和工程直觉,快速定位问题本质,而非依赖试错或搜索。真正的技术实力源于对底层逻辑的深刻理解和对系统稳定性的敬畏。

wldtzzming的专栏 1088

低光照图像增强:从传统方法到深度学习

低光照图像增强:从传统方法到深度学习​ 人工智能,计算机视觉,大模型,AI,本文聚焦视觉模型的偏差与公平性问题,阐述了偏差在性别、种族、年龄等方面的表现及对医疗、司法、安防等领域的影响。分析了偏差源于数据采集与标注问题及算法局限。介绍了准确率差异等公平性评估指标、相关数据集和工具,还给出数据处理、算法改进、模型训练等避免歧视的策略,并附代码示例与实际案例,为提升视觉模型公平性提供多方面参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 2万+

Java笔记-JSP初步研究

JSP(全称JavaServer Pages)。其实他就是servlet,只是换了个表现形式,这个是面向界面的。 感觉他还可以叫 Java Servlet Pages, 其实就是Java Server Pages 哈哈。 与Sevlert类似, 初始化参数可以在web.xml 的<servlet> 中配置 ,如下例子: 如下: 下面举个例子,统计每个IP访问某一...

IT1995的博客 4691

基于YOLOv11的农作物病虫害检测系统设计与实现

我们使用公开的IP102病虫害数据集作为基础,该数据集包含102种病虫害类别,覆盖水稻、小麦、玉米等多种主要农作物。图像数量:75,222张类别数:102图像分辨率:从640×480到4000×3000不等标注格式:PASCAL VOC格式此外,我们还收集了部分田间实际拍摄的图像以增强模型泛化能力。

YOLO 595

JSP上传问题的研究

原文时间:2007-10-11 [版权:badboy.net.cn] 因为是初学者,所以在我需要JSP为我提供上传功能的时候,我应该去了解一下实现细节,当我了解足够的时候,去使用别人的组件,或者给别人提供组件。 我首先是了解一下能用request.getInputStream()得到的数据是什么样子的: 1、新建一个HTML页面,含以下表单,用...

JavaNoob的博客 231

【示波器专题】无源探头的常用附件

使用探头进行测试,我们不仅要知道探头的原理,还需要了解探头的常用附件及其使用方式,这样才能在尽可能在测试中提高效率且减少出错的概率

一点硬件 692

Jetson AGX Orin平台Jetpack5升级Jetpack6,自研载板USB不工作问题调试

1. 问题描述将AGX Orin工业的新板放到定制的载板上当在ubuntu 22和Jetpack 6.1上使用SDKManager刷机时,lsusb为空,并且在引导时没有发现/注册xusb设备。USB C端口正常打开并供电,但似乎没有数据传输。在Ubuntu 18 Jetpack 5.1.4 SDKManager上同样刷机之后,usb C集线器在引导时被正确地发现,显示在lsusb中,并识别/挂载外部驱动器。

jzwjzw19900922的博客 1510

JSP页面编码问题研究一(jsp页面请求生命周期)

中国 这个页面在为什么在运行的时候“中国”会变成乱码?   Analysis Key Step: 对于上面问题的分析需要从整个JSP页面请求的生命周期来看,一般的都需要经历下面几个阶段: 1。应用服务器根据JSP页面生成一个Java文件 2。应用服务器调用java.exe将Java文件编译成一个Servlet对应的class文件 3。用户的浏览器请求JSP对应

ziyanguang1989的专栏 753

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

渗透测试 - jsp一句话大马小马 &&冰蝎(2025/3/13更新)

【代码】渗透测试 - webshell jsp一句话小马 && 蚁剑连接。

盾悟 2万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JSP指令与动作元素

with的博客 246

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【jsp勘误】一个return引起的血案

【前言】 近日开发jsp网站时候又无缘无故出现500错误,经过考察,发现是最后的return引起的,删除最后的return以后可以正常编译,囧,这是何道理? bug?

一名普通码农的菜地 772

JSP开发获取IP

JSP开发获取IP 服务器 Ip <%=request.getLocalAddr()%> 获得客户端 Ip <%= request.getRemoteAddr() %> 如果是有Nginx或者Apache作为反向代理则不会获取到真时的ip。这个还要研究一下,要亲测之后再完善。 ...

终将成为大牛 1571

工作日志4-21

工作日志4-21 1、研究框架,自己试着对数据库进行操作。 2、研究框架JSP代码。

WangLu_lulu的专栏 492

JSP入门(一)

最近在学习servlet,研究到了JSP~学习这篇博客~ http://blog.youkuaiyun.com/mirror1997/article/details/751489921.JSP(Java Server Pages): 使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。2.以下步骤表明了Web服务器是如何使用JSP来创建网页的: 就像其他普通的网页一样,您的浏览器发

牛肉面面的博客 2042

基于JSP网上订餐系统的设计与研究

摘要:本文设计了一个基于JSP技术的在线订餐系统,采用C/S架构模式,包含客户端(安卓APP)和服务端。系统遵循系统性、可靠性、经济性和可接受性等设计原则,具备用户注册登录、菜品查询、在线下单、订单管理等功能模块。数据库采用MySQL设计,包含5个数据表。重点实现了登录验证和订单管理等核心功能模块,通过流程图和界面截图展示了系统实现效果。系统界面友好、操作简便,能满足用户在线订餐需求,同时保障了用户信息安全和管理便捷性。

weixin_112233的博客 978

基于jsp+jdbc+mysql+html+css网上药品购物商城系统设计与实现 研究背景与意义、国内外研究现状

基于jsp+jdbc+mysql+html+css网上药品购物商城系统设计与实现 研究背景与意义、国内外研究现状毕设毕业设计成品,进一步深入探讨该系统的设计和实现,以及在购物安全性、用户体验和数据管理方面的优化方法,为网上药品购物商城系统的发展提供更为全面和深入的研究。这种趋势的出现,一方面是由于人们生活水平的提高和对健康的重视,另一方面是由于网上购物的便捷性和价格优势。这些研究主要关注用户的隐私保护和数据的安全性,确保购物系统的稳定运行和用户信息的保密性。项目的界面和功能都可以定制,包安装运行!

杭州.黄老师 3080

基于JSP的在线考试系统的研究与开发 毕业设计开题报告

基于JSP的在线考试系统的研究与开发 毕业设计开题报告,大学生本科专科专升本成人教育毕业设计毕设开题报告模板,研究背景与意义、国内外研究现状、、研究思路与方法、研究内客和创新点、后台功能需求分析和前端功能需求分析、研究思路与研究方法、可行性、研究进度安排、论文(设计)写作提纲、主要参考文献

杭州.黄老师 2278

基于JSP技术进行信息交互的研究与应用

首页 | 最新栏目 | 关于我们 | 读者园地 | 联系我们 <!-- .style5 {font-family:"宋体"; font-size:12px} .style7 {font-family:"宋体"; font-size:12px; color:#FFFFFF} .dixian {font-family:"宋体"; fo

黄方 (舞动的心弦) 的专栏 2653

JSP 研究生招生管理系统javaweb系统开发设计mysql数据库

一、源码特点 JSP 研究生招生管理系统 是一套完善的WEB设计系统,对理解JSP java 编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 应用技术:java|jsp+sqlserver2008 开发工具:Myeclipse或Eclipse、jdk、tomcat。 下载地址 视频演示 二、功能介绍 研究生招生管理系统主要是为了实现用户可以考生、成绩、等信息,围绕这一中心任务,必须提供对网站的全面支持和其它辅助功能。整个系统的用户有两类:用户和系统管理员。...

qq_251836457的博客 1619
下一篇: JSP研究(二)learn servlet
baiming
博客等级 码龄25年 0粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值