Tomcat

Shiro-550 PoC 编写日记

爷,独闯天下 提交于 2020-08-12 14:42:41
作者:w7ay @ 知道创宇404实验室 时间:2020年2月12日 深刻认识到不会java搞这类poc的困难,只能做一个无情的搬砖机器。 目标是编写Pocsuite3 python版本的Shiro-550 PoC,最好不要依赖其他东西。 本文没有新奇的观点,只是记录日常 =_= Shiro识别 看到@pmiaowu开源的burp shiro检测插件 https://github.com/pmiaowu/BurpShiroPassiveScan 看了下源码,主要有三种判断方式 原始cookie key带了rememberMe 原始请求返回cookie中value带有deleteMe 以上条件都不满足时,发送cookie rememberMe=1 检测Shiro key l1nk3r师傅 的 基于原生shiro框架 检测方法 https://mp.weixin.qq.com/s/do88_4Td1CSeKLmFqhGCuQ 简述下如何不依赖java环境来检测poc。 import org.apache.shiro.subject.SimplePrincipalCollection ; import java.io.FileNotFoundException ; import java.io.FileOutputStream ; import java.io.IOException ;

IDEA tomcat容器和log4j日志中文乱码的终极解决方案

这一生的挚爱 提交于 2020-08-12 14:40:52
一、Tomcat容器下Conf文件夹 如果是GBK改为UTF-8 java.util.logging.ConsoleHandler.encoding = UTF-8 logging.properties <Connector port="8080" protocol="HTTP/1.1" connectionTimeout ="20000" redirectPort ="8443" URIEncoding="UTF-8"/> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" /> server.xml 二、网上很多说的改 IDEA安装目录bin下的idea.exe.vmoptions,idea64.exe.vmoptions两个文件,末尾加入 -Dfile.encoding=UTF-8 - Xms128m - Xmx750m -XX:ReservedCodeCacheSize= 240m -XX:+ UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 - ea -XX:CICompilerCount=2 -Dsun.io

SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)

心已入冬 提交于 2020-08-12 11:36:27
作者 | 孤弋 阿里云高级技术专家,负责 EDAS 的开发和用户体验优化工作。 导读 :在上一篇文章 《SpringCloud 应用在 Kubernetes 上的云上实践 - 开发篇》 中讲到可以通过两个工具,轻松地将一个 SpringCloud 应用从初始化到本地运行。本篇文章,我们将介绍如何将上一篇文章中提到的应用在云上跑起来。 初始化集群 为了将应用运行在云端,首先我们需要一个 Kubernetes 集群,在 EDAS 中使用 Kubernetes 集群目前最快的方式,是将一个阿里云容器集群中的 Kubernetes 集群( ACK 集群 ),导入到 EDAS 中来。 如果还没有ACK集群的话,您可以通过以下两种方式来创建一个: 直接进入容器服务的控制台进行创建; 如果您已经有一个在云上建好的集群,或者有一个在其他 IDC 或友商中有的集群,也可以在容器服务这边通过“注册已有集群”的方式,导入到容器服务中来。 等到 Kubernetes 集群就绪之后,在 EDAS 上需要进行一次集群“导入”,导入方式如下图所示: 在导入集群时,EDAS 会做以下操作: 初始化 EDAS 的集群控制器和相关资源,主要包含:基于开放云原生应用标准的 OAM Controller、日志采集的 Agent、监控链路中的 Arms 环境信息等;其中大部分控制器运行时不会占用用户集群的资源,而会运行在

JVM活学活用——优化SpringBoot

半腔热情 提交于 2020-08-12 10:46:25
介绍 在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 1. 方便微服务部署。 2. 方便项目启动,不需要下载Tomcat或者Jetty 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数 超时时间 jvm优化 针对上述的优化点来说,首先线程数是一个重点,初始线程数和最大线程数,初始线程数保障启动的时候,如果有大量用户访问,能够很稳定的接受请求, 而最大线程数量用来保证系统的稳定性,而超时时间用来保障连接数不容易被压垮,如果大批量的请求过来,延迟比较高,不容易把线程打满。这种情况在生产中是比较常见的 一旦网络不稳定,宁愿丢包也不愿意把机器压垮。 jvm优化一般来说没有太多场景,无非就是加大初始的堆,和最大限制堆,当然也不是无限增大,根据的情况进快速开始 在spring boot配置文件中application.yml,添加以下配置 server : tomcat : min - spare - threads : 20 max - threads : 100 connection - timeout : 5000 这块对tomcat进行了一个优化配置,最大线程数是100,初始化线程是20,超时时间是5000ms Jvm优化 这块主要不是谈如何优化,jvm优化是一个需要场景化的

我只是面个功能测试,面试官却把我逼上绝路,鬼知道我经历了什么(面试全程自述)

喜欢而已 提交于 2020-08-12 08:43:42
又到一年找工作跳槽加薪升职季。 我,当然也在这个队伍中。我叫汪大牛,是腾讯课堂华测教育浩瀚学子中的一员,不过我现在是旁听生,还没有正式上直播课。 在我做好了充分的准备后,也因为年初影响,我最终选择了七月这个跳槽人数逐渐变少的月份,去选择我心仪的公司去面试。 自我介绍下 目标职位:功能测试 目标薪资:10k 地点:上海 毕业时间:2017年6月(到今年6月刚刚好3年) 公司名字:???我当然不会告诉你,这个得保密。 目前状况:还在华测教育学习,目前看了录播以及旁听了部分直播,还木有正式上课,一直做得是纯功能测试。 我以为我做好了万全准备,当技术、老总、HR小姐姐轮流来面试的时候,我还是有点慌的,下面说说我惊心动魄的面试经过: ======第一轮:技术面试===== 打前阵的问题: 1、自我介绍 2、说说项目 3、用例编写,一个用例大概多少数量,用什么方法编写的等等。 难点问题来了: Q1:tomcat是什么 我:脸上笑嘻嘻,心里mmp,好在哥博览群书,还关注了【程序员张无忌】这个公众号,两周前,我就在这个神奇的公众号上,看到了文章《软件测试工程师人手必备的一只:TOM猫,可以带你装逼带你飞!》,几乎一毛一样,tomcat是什么,它里面是什么。 但是我不能马上回答,我略作思考,轻松整理下,然后有条有理的说出来了~当然如果你也要关注这个神奇的公众号:程序员张无忌,

超详细JVM性能优化案例全面讲解,值得收藏

陌路散爱 提交于 2020-08-12 07:44:59
对vm-性能优化不太熟悉,掌握不透彻的小伙伴可以借此学习一下。对vm-性能优化很熟悉,掌握很好的小伙伴可以当作复习巩固,写的不一定你们都会哟! 话不多说,咱们直接上干货!注意:除了本文讲的案例。我还整理了最新5套JAVA架构项目实战教程及大厂面试题库,需要的可以进裙 783802103,裙文件下,没基础勿进哦! 类加载机制深度剖析 1、类加载过程 多个java文件经过编译打包生成可运行jar包,最终由java命令运行某个主类的main函数启动程序,这里首先需要通过类加载器把主类加载到JVM。 主类在运行过程中如果使用到其它类,会逐步加载这些类。 注意,jar包里的类不是一次性全部加载的,是使用到时才加载。 类加载到使用整个过程有如下几步: 加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载 加载:在硬盘上查找并通过IO读入字节码文件,使用到类时才会加载,例如调用类的main()方法,new对象等等,在加载阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口 验证:校验字节码文件的正确性 准备:给类的静态变量分配内存,并赋予默认值 解析:将符号引用替换为直接引用,该阶段会把一些静态方法(符号引用,比如main()方法)替换为指向数据所存内存的指针或句柄等(直接引用),这是所谓的静态链接过程

开会时CPU 飙升100%同事们都手忙脚乱记一次应急处理过程

青春壹個敷衍的年華 提交于 2020-08-12 05:16:30
告警 正在开会,突然钉钉告警声响个不停,同时市场人员反馈客户在投诉系统登不进了,报504错误。查看钉钉上的告警信息,几台业务服务器节点全部报CPU超过告警阈值,达100%。 赶紧从会上下来,SSH登录服务器,使用 top 命令查看,几个Java进程CPU占用达到180%,190%,这几个Java进程对应同一个业务服务的几个Pod(或容器)。 定位 使用 docker stats 命令查看本节点容器资源使用情况,对占用CPU很高的容器使用 docker exec -it <容器ID>bash 进入。 在容器内部执行 top 命令查看,定位到占用CPU高的进程ID,使用 top -Hp <进程ID> 定位到占用CPU高的线程ID。 使用 jstack <进程ID> > jstack.txt 将进程的线程栈打印输出。 退出容器, 使用 docker cp <容器ID>:/usr/local/tomcat/jstack.txt ./ 命令将jstack文件复制到宿主机,便于查看。获取到jstack信息后,赶紧重启服务让服务恢复可用。 5.将2中占用CPU高的线程ID使用 pringf '%x\n' <线程ID> 命令将线程ID转换为十六进制形式。假设线程ID为133,则得到十六进制85。在jstack.txt文件中定位到 nid=0x85的位置,该位置即为占用CPU高线程的执行栈信息

Mac安装Tomcat

陌路散爱 提交于 2020-08-12 05:02:42
Mac安装Tomcat 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 下载 官网地址 http://tomcat.apache.org/ 注意下载的版本,我这里是mac的 启动 将文件解压,可以改名成为Tomcat,进入到bin目录下 开启 sh ./startup.sh 关闭 sh ./shutdown.sh 测试 在浏览器中打开localhost:8080 感谢 万能的网络 以及勤劳的自己 来源: oschina 链接: https://my.oschina.net/guizimo/blog/4318206

局域网Cesium离线影像及瓦片影像地图加载

房东的猫 提交于 2020-08-12 04:44:28
1、Cesium简介 优点: cesium展示地图数据效果比较好,解析2D地图各种不同服务类型的数据源,比如百度地图、天地图、arcgis地图、BingMap、openStreetMap、MapBox等等;解析地形图加载;解析3D模型,包括动态加载以及3Dtitles切片形式加载展示,尤其是3Dtitles,大大的加快了展示3D模型的展示效率; Cesium封装部分地图控件,直接调用即可,不用自己写; 缺点: 跟商业3DGIS软件对比,比如skyline,cesium三维分析功能较弱, cesium官网关于三维分析的例子难以找到(需要自己底层去实现),大多是以展示数据以及渲染数据为主的例子; 尚未提供交互式标绘工具Draw接口,2DGIS一般都是提供Draw工具的,比如arcgis api以及openlayer api;cesium想要绘制点、线、面,只能通过代码来绘制,貌似不能在线手动画; 没有地图量算工具、地图比例尺、拉框缩放等,这些地图基本工具,在cesium都需要自己来写实现。 2、软件下载瓦片并发布地图服务方式 软件环境: cesium1.25,tomcat7 1,首先使用XX地图下载器,破解版4.6,下载全球高德影像图,我下载1-7级,大概几百兆,比较快,第八级1个多G,指数级增长,学习阶段不需要太多。 下载操作:首先缩小地图,框选全球地图,双击,弹出下载页面