Web
1.3k 词
本文摘要: 掌握基于SpringBoot框架的程序开发步骤 熟练使用SpringBoot配置信息修改服务器配置 基于SpringBoot的完成SSM整合项目开发 SpringBoot简介SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。 使用了SpringMVC框架后已经简化了我们的开发,而SpringBoot又是对SpringMVC开发进行简化的,可想而知SpringBoot使用的简单及广泛性,这就是所谓的项目迭代吧。 既然SpringBoot是用来简化Spring开发的,那我们就先回顾一下,以SpringMVC开发为例 创建一个maven工程,并在pom.xml中导入所需依赖的坐标 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263<dependencies> <dependency> ...
Web
8k 词
SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。 SpringMVC是处于Web层的框架,所以其主要作用就是用来接收前端发过来的请求和数据,然后经过处理之后将处理结果响应给前端,所以如何处理请求和响应是SpringMVC中非常重要的一块内容。 REST是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性,后期的应用也是非常广泛。 对于SpringMVC的学习,最终要达成的目标: 掌握基于SpringMVC获取请求参数和响应JSON数据操作 熟练应用基于REST风格的请求路径设置与参数传递 能根据实际业务建立前后端开发通信协议,并进行实现 基于SSM整合技术开发任意业务模块功能 SpringMCV总览目前Java Web的开发方式是如下: 将后端服务器Servlet拆分成三层,分别是Web,Service和DAO。 web层主要由servlet来处理,负责页面请求和数据的收集以及响应结果给前端 service层主要负责业务逻辑的处理 dao层主要负责数据的增删改查操作 但servlet处理请求和数据时,...
Web
14k 词
Spring核心概念解决的问题核心:耦合度高。 业务层需要调用DAO层的方法,就需要在业务层newDAO层的对象 如果DAO层的实现类发生变化,业务层的代码也需要改变,更需要编译和打包部署。 Spring的解决:使用对象时,在程序中不要主动使用new产生对象,转换为由外部提供对象,即控制反转。 IOC – 控制反转 使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转。 业务层要用数据层的类对象,以前是自己new的 现在自己不new了,交给别人[外部]来创建对象 别人[外部]就反转控制了数据层对象的创建权 这种思想就是控制反转 Spring和IOC之间的关系是什么呢? Spring技术对IOC思想进行了实现 Spring提供了一个容器,称为IOC容器,用来充当IOC思想中的”外部” IOC思想中的别人[外部]指的就是Spring的IOC容器 IOC容器的作用以及内部存放的是什么? IOC容器负责对象的创建、初始化等一系列工作,其中包含了数据层和业务层的类对象 被创建或被管理的对象在IOC容器中统称为Bean ...
Web
1.7k 词
0x00 基本概念Docker的意义是让搭环境更方便。 Docker 是一个应用打包、分发、部署的工具。 你也可以把它理解为一个轻量的虚拟机,但它只虚拟你软件需要的运行环境,而不虚拟硬件。一方面可以很方便的复制整个环境,一方面也可以防止污染本机环境。 复现漏洞时,部署环境用Docker会高效很多。实际上常用的漏洞平台Vulhub就是基于docker,kali中搭建Vulhub参见。 Container - 容器容器是一个独立于系统内其他所有进程的进程,相当于一台运行起来的虚拟机,即你的软件或Web应用运行的环境。容器与镜像的关系类似于对象和类。 Image - 镜像镜像相当于一个虚拟机快照,其中包含了你要部署的应用程序和它所依赖的所有库,一个镜像可以创建多个容器。 一般情况下,你所运行的软件都依赖于某种解释器或容器,例如node,python,tomcat,nginx,redis等,因此Docker有大部分解释器的官方镜像,在Dockerfile中需要指定并安装该环境。 Docker在制作镜像时会缓存所有用到的环境,因此部署一次之后会快很多,这种操作成为分层。 Dockerfi...
ACG
2.4k 词
最近几年最有名的漫画家非藤本树莫属,而且大概当之无愧。我总感觉一话尽的短篇更适合他的风格,长篇连载总要受太多无聊的因素影响,让最后的结尾很难完美,但读切则自由得多。《再见绘梨》绝对是藤本树最优秀的漫画之一,实在太有趣了! 藤本树以天马行空的奇幻设定和神经病般的故事发展出名,其实我倒感觉他在描绘真实细腻的感情与真实的世界上同样出色。炎拳也好,电锯人也好,都找不出一个标签化单纯的人物,每个人的感情都是如此复杂,在荒诞奇幻的设定与脱线剧情发展的外表下,藤本树其实很擅长用简洁的篇幅讲述很有情感密度的故事,这让他笔下的人物和故事都如此有魅力。 再见绘梨最大的特点是全篇居然几乎都由电影般的分镜组成,以第一人称而非客观的角度看待故事,这让故事有着无与伦比的现实感。例如优太在天台上自杀时,画面先是探到栅栏外看到地面,然后又犹豫地缩回天台的地面,只用几个分镜就让人感觉到死亡就在眼前。有大量分镜背景不动,只有人物小幅度的动作或者表情变化,让故事中的时间流逝如此真实。很有特点的大量重复分镜也很有趣,例如绘梨和优太父亲争吵前,有十几个一言不发的吃饭画面,让人感觉气氛相当压抑,给后面优太父亲情感爆发做了很...
ACG
248 词
近几年最有名的漫画家非藤本树莫属,就连对漫画很久提不起兴趣来的我,也一口气看完不少他大部分作品,而且大都不负所望很有趣。 最新作《再见绘梨》或许是藤本树最好的读切漫画,他以意想不到的超展开和混乱的设定出名,但实际上在细腻情感上的描述也很优秀。藤本树最出名的电锯人是世界观都几乎架空奇幻作品,但再见绘梨却又如此现实。他喜欢一抹奇幻色彩,但奇幻色彩的前提是现实的底色,没有现实基础的奇幻其实很无聊。真正有趣的奇幻作品是,只字不提现实却让人感觉如同平行世界般真实。 而奇幻色彩的终点,实际上是直面现实的勇气,无论是蓦然回首还是再见绘梨,都是如此。
438 词
鼓捣半天才发现,安卓逆向同样很偏重对工具的使用,尤其是反编译必备的MT管理器/NP管理器。而具体的逻辑修改需要Java和汇编基础(当然安卓源码实际上是smali)。 Apk文件结构APK实际上是一种压缩文件,将后缀改为rar就能轻松解压。具体分析:很明显,其中最重要的是作为Java源码的classes.dex,查看和修改都需要经过反编译。而resource文件则提供高效的资源索引,使逆向中的关键步骤之一定位变得方便。 逆向基本逻辑下图是汉化的流程,其实逻辑一样。………..为什么这就没了?感觉用集成工具的话需要做笔记的地方不多,而且很麻烦。更重要的是藤本树的漫画太有趣不想花时间鼓捣这个了wwww 随想最近想搞下学校跑步软件的安卓逆向,才明白汇编是拿来干啥的。 经过编译打包后的软件只有二进制机器码,但机器码与汇编代码一一对应,因此二进制机器码可以无损转为汇编,反过来当然也一样,因此可以通过修改汇编代码的方式直接逆向修改软件,而其他所有语言都做不到,也就是说汇编真正厉害的无损转机器码。 当然直接分析汇编太折磨,先分析通过反编译生成C语言或者Java代码的逻辑,再逆向去思考汇编...
842 词
前言前几天复现了Log4j2的RCE漏洞,最后实现的是弹出计算器,因为恶意类Exploit是这么写的: 12345678910111213141516public class Calc { public Calc(){ // System.out.println("Hello!!!!!!!!!!!!!!!!!"); try{ String[] commands = {"calc.exe"}; Process pc = Runtime.getRuntime().exec(commands); pc.waitFor(); } catch(Exception e){ e.printStackTrace(); } } public static void main(String[] argv) ...
1.7k 词
0x00 引言Log4j2 RCE恐怕是近几年最严重也影响最广的漏洞,log4j2作为最流行的Java开源日志框架之一,应用极广,而该RCE又非常容易被利用,因此非常危险。去年这个时候拜他所赐相当热闹,实际上复现不算困难,本文从头开始在本地搭建Java Web环境并复现log4j2 RCE漏洞。另外先提醒,复现中搭环境最重要也最麻烦的是JRE版本必须仔细选择,不然会出很多麻烦。 1. 漏洞描述Log4j(log for Java)是最常用的两个Java日志管理开源框架之一,由Apache维护。由于 Apache Log4j2 某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。 实际受影响范围如下:Apache Log4j 2.x < 2.15.0-rc2 CVE官方描述: Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log mess...
EE
3.5k 词
前言对于0并无正负之分,之前我都对电子一无所知,因此也谈不上感兴趣与否。自这学期的电分模电开始才第一次对EE有了印象,感觉还蛮有意思。 十月份某日,Java老师提到他的网站是跑在作为服务器的树莓派上的,说者无心听者有意,我那时不知道脑子怎么一抽,对树莓派突然来了兴趣。那时我在写基于原生JavaWeb+Mybatis+Vue+ElementUI的文件管理系统,让我想到一个非常有意思的想法,如果有足够稳定的内网穿透服务,实现的效果会比组NAS更好而成本也低得多。在花了一点功夫之后,我成功用裸板149r的orangepi几乎完美实现了上述功能,具体细节参见上篇Blog。 玩过orangePi之后,对它几十个GPIO接口自然也有了兴趣,渐渐也对更底层的东西感到好奇。刚好那时学校里的电子爱好者协会在招新培训,再加上游园会上又在ICEC的摊子上焊接过双闪灯,经过一阵子的纠结,还是决定报名去参加了。 写到这里,想起来去年这时候也去参加安全相关实验室的培训了,果然我多半是个一事无成的人,发现有趣的事就忍不住去做。回想过去自己也一直是随性而为,不过我是不会后悔的,无论结果如何,都决不后悔自己经过思...