2024年终总结

我们之所以在这颗星球上行走,不是为了成为最快最好的机器,而是要在这浩瀚的星辰大海中找到自己、确认自己、喜欢自己。——《南方周末》

又到了一年的最后几天,各平台年终总结满天飞,看着这些总结总是有所感慨,原来一些不经意的小事已经做了这么久,做了这么多次。回顾我的 2024 年,虽然乏善可陈,但对我个人而言却有着独特的意义,见闻有了增长,心境较以往更加平静,人生观和价值观也有了一定的转变,从做一些事到不做一些事,身边的新朋友旧朋友来来往往。今日提笔记下,未来的某日里重读,或羞于启齿,或怒斥冥顽,或会心一笑,都算是一种新奇体验。

阅读更多

2023年终总结

也许是因为大学之前的生活过于平淡,我本没有年终总结的习惯。上一年因为疫情匆匆离开学校,真正的大学生活也许是今年才开始的,而今年实在发生了太多的事情。仔细阅读完龙队的年终总结 ( https://ha1c9on.top/index.php/archives/27/ ) 之后感触很多,于是也想来总结一下对我来说平凡又不太平凡的 2023 年。如果要用几个词来形容一下今年,我想我的答案应该会是:热爱,思考和感恩。

阅读更多

记一次更换系统博客迁移经历

参考文章(主要流程,实际上因为配置环境等各种各样的问题也查了不少文章):https://zhuanlan.zhihu.com/p/205758058

挺简单的事还是搞了一个下午,记录一下遇到的问题和解决,下次换云服务器或者重装系统可以快一点完成博客的迁移。

首先在阿里云控制台点击更换系统,直接完成重装,这里我重装完是 ubuntu 22.04 。重装完系统不用换源,阿里帮你换好了。先加一个 sudo 特权用户,再进行软件的升级。

阅读更多

2023CISCN初赛WEB

gosession

考点:GoLang Session 伪造 && GoLang pongo2 SSTI

Session 伪造

给了源码,在 route.go 里面有三个路由,首先看 Index ,获取 session-name ,判断 session.Values[“name”] ,为空则赋值为 guest ,并保存,返回 hello guest 。

阅读更多

再谈Java反序列化:ysoserial补全计划(三)

参考文章:
https://su18.org/

C3P0 HttpBase

C3P0 的基础知识(基础使用和关键类解析)学习学习:
https://www.cnblogs.com/ZhangZiSheng001/p/12080533.html

c3p0是用于创建和管理连接,利用“池”的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制、连接可靠性测试、连接泄露控制、缓存语句等功能。目前,hibernate自带的连接池就是c3p0hibernate 是上一篇文章提到的 orm 框架)

阅读更多

Android逆向:加壳原理

为了更好地入门安卓逆向,学习加壳和脱壳,非常有必要进行 Android 基础理论的学习,而不是只是用用工具。这篇文章主要研究一下加壳的具体原理。

前置知识

Android 类加载机制

参考文章:https://juejin.cn/post/7143900207380430855

Android 类加载器

Android 的类加载器分为系统加载器和自定义加载器两种类型,系统类加载器主要包括3种,分别是BootClassloaderPathClassloaderDexClassLoader

阅读更多

再谈Java反序列化:ysoserial补全计划(二)

Commons BeanUtils1

commons-beanutils : 1.9.2

commons-beanutils 是 Apache 提供的一个用于操作 JAVA bean 的工具包。里面提供了各种各样的工具类,让我们可以很方便的对 bean 对象的属性进行各种操作。

之前有条这样的链子:PriorityQueue -> TransformingComparator -> ChainedTransformer -> InstantiateTransformer -> TemplatesImpl,中间步骤太多,于是有了这条直接从 Comparator 到 TemplatesImpl 的 getoutputProperties 方法的 CB 链。

阅读更多

再谈Java反序列化:ysoserial补全计划(一)

前言

整体跟着 su18 师傅的博客进行学习,写的真的很详细:

Java 反序列化取经路 | 素十八 (su18.org)

以 ysoserial 的众多链子为抓手,再谈 java 反序列化,也许可以注意到之前没有注意过的问题,也可以提高代码审计的水平。

URLDNS

最简单且有用的链子,不依赖任何依赖和 jdk 版本,仅使用 hashmap 和 url 这两个 jdk 自带的类。

通常用来检测是否存在反序列化漏洞。

阅读更多

Android基础:逆向准备

由于最近做的项目要求要会安卓逆向分析,于是我就来学学安卓逆向分析,毕竟技多不压身,万一比赛里 web 做不出来还能试试 reverse(当然,我并不希望发生这种情况)。学了一阵安卓开发基础之后发现其实有 Java web 开发的基础学起来就会比较简单。这篇文章总结一下正式学安卓逆向前做的准备工作,主要是安卓开发入门,毕竟学安全前必须学一点简单的开发,学点安卓开发有利于逆向的时候快速定位关键点(虽然有自动工具)。

阅读更多

Struts2全系漏洞分析(二)

参考链接:

https://blog.csdn.net/Fly_hps/article/details/85001659

https://su18.org/post/struts2-1/#s2-009

前言

在继续Struts2全系漏洞的分析之前,我犹豫了一会,究竟是要继续分析Struts2剩下的其他漏洞,还是好好分析一下ysoserial的反序列化链呢,本着尽量旧坑未填不开新坑的原则,我还是继续来调试代码,分析Struts2的历史漏洞吧。

另外,在网上寻找怎么搭建S2-007漏洞时,发现了一个惊人的漏洞源码库,只需要将对应的文件夹用 idea 打开配置自己的 tomcat 即可运行,终于不用艰难地搭环境了,好耶!

仓库在这里:https://github.com/xhycccc/Struts2-Vuln-Demo

前一篇文章由于是第一次分析Struts2的漏洞,故分析的比较详细,这一篇就会简略一点,主要理解漏洞链以及漏洞触发的流程。

阅读更多