2020年下半年总结与计划

2020年下半年总结与计划0x00前言2020年到如今已经到了十二月中旬,下半年所学的东西还是挺多,我觉得学习的一个效率也是有着飞跃般的提升。主要的原因可能在于我和我的好朋友(基友)住在一个房间

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

2020年下半年总结与计划

0x00 前言

2020年到如今已经到了十二月中旬,下半年所学的东西还是挺多,我觉得学习的一个效率也是有着飞跃般的提升。主要的原因可能在于我和我的好朋友(基友)住在一个房间,互相督促学习。其次的原因是在这互相督促中基本都撸到4点左右进行学习一个新的东西。包括生活中的一些小想法或者是在安全中的一些想法。还有的一点原因是因为在后面一段时间中团队几个人一起为我们几个人学习的一个方向进行一个头脑风暴,然后去定制化一些脑图。后面对应脑图疯狂学习,并且输出对应的文章。

2020年下半年总结与计划

在学习内容中其实也会实时进行一个更新,目前也是完成大半了。

0x01 絮絮叨叨

其实都知道今年并不好过,由于疫情的缘故有一个多月也是在家办公。而在这期间为我的Java学习的基础打下了一些基础。在这是将Java的一些基础其中包括JavaSE、Javaweb、以及SSM框架这些给刷了一遍。 而在疫情隔离以后,就是hvv。而在期间今年担任的是防守队,而在这期间也是学习了Java代码审计,成果是一个sql注入和两个xss。其实在这些类似于攻防演练蓝队都比较划水,大致是到4点左右没事件了,就直接打瞌睡。但是我觉得并不能因为划水而划水,而我的做法是查看其他师傅们的代码审计文章,并且查询开发资料,了解一个漏洞在Java中的产生过程和关键产生漏洞的一些类。那么了解了这些后,有开发基础的情况下,就可以对一套源代码进行一个代码审计。而我后面因为条件比较苛刻,就算能审计代码,但是在审计完成后,需要对该审计出来的漏洞进行验证,需要使用到一些payload。但是在蓝队划水工作中,连接的是客户的内网环境,里面会有很多监测设备,而且这些都是全内网环境,不出网。所以验证漏洞和查询资料都不能去进行一个操作,而我的解决方式是开虚拟机然后手机开启热点,虚拟机网络连接热点。

我觉得这是一个很好的学习(划水)机会,得将该时间给利用起来。在这期间是将这些漏洞在Java中产生原理给理了一遍,在此为代码审计打下基础。

后面发现网上很少会有Java的源代码,有一次在一次渗透中,利用信息泄露,打下的一个数据库,但是他的加密的是一个DES的加密(一开始不知道,一开始以为是AES)。查询到一些指纹信息发现他的CMS后,网上进行了一个下载,然后进行审计。开始兴致大起,下了500m的源码后才发现,这压根就不是源代码。而是编译后的class文件。当时想着既然是编译后的文件公布出来为啥不能直接打包成war包呢?但是还是得硬刚。放入JD-GUI进行反编译后,查看到伪代码,然后查询加密方式。后来是在一个他们开发中封装的jar包里面的一个工具类得到这个加密模式。因为在里面就定义了3DES的加密方式,这个方式会被插入一些数据的方法给调用,从而定位到该算法。然后拿到该密钥进行本地的解密,得到该数据结果。

从中不得不说的是没有源代码,无法直接快捷的方式进行跳转,只能去进行全局搜索,然后查找调用。

所以后面的重点放在了反序列化漏洞分析这块。在hvv的后面几天就在分析这个URLDNS利用链以及实际运用场景。

其实在这段时间中,发现一般做这方面的分为两类人:一种是为了应付工作,一种是真正的喜欢这么一个东西,想去这方面做得更好。

如果是应付工作的话,那么我觉得这是一个痛苦的。

我觉得如果喜欢这么一个东西的话,就应该做得更好,再者如果喜欢的东西,变成一个工作后,难道不应该做到更好?

0x02 下半年学习复盘

其实在我接触到Java是在7月份开始学习,在9月下旬左右开始进行代码审计。而我接触到Java安全领域是在10月份左右,接触的第一个知识点貌似是ClassLoader类加载器。

后面就是一些利用链的分析,在这里也是为我的一个漏洞调试分析奠定一个非常好的基础。由于第一个调试这些cc链,加上十月一假期,CC1这个链分析了10天,但是在后面摸清楚套路以后如鱼得水。后面就是学习了JNI、javaAgent等技术,在学习中途发现在安全中很多有意思的用途。在此先略过不讲。

在期间也开发了一些小工具,如webshell管理工具,但是目前只实现了一个命令执行,传输双向加密,随机ua、gui界面功能。动态密钥AES+HEX加密

最后面就是漏洞分析了,前天分析了Shiro 550 的漏洞,也是很有意思,该漏洞就是Cookie里面某字段的值,然后进行AES解密后base64解密,最后进行反序列化。而在Shiro 里面自带cc的组件。

其实在Fastjson反序列化漏洞的分析也是写了一些,后面是因为各种原因,没继续去进行分析。想法是等分析完Weblogic漏洞后,在继续编写该文。

0x03 计划

漏洞分析

关于明年的计划的话,其实我是想将weblogic和Fastjson反序列化漏洞和St2的表达式注入这些具有代表性的漏洞分析完成。

代码审计

准备后面回去撸Java开发知识,比如SSH框架、Stringboot这些因为在之前就简单过了一遍,某些知识点可能不太了解。将代码审计的知识做一个更新。包括war包的审计这块,如果要做逆向如何更好的方式进行代码审计。

工具开发

想着后面代码功底深了过后,去进行一个工具的开发,以前想实现或者是团队小伙伴提出的想法去做一个实现。具体想法在此不做赘述。比如burp的插件开发,比如一些反序列化漏洞的集合。

0x04 总结

其实我在撸这个Java以来也是会前面有一段时间,非常非常的枯燥。但是学习中间一段时间后,发现很多有意思的点就没那么枯燥了,反而会更感兴趣。有一个不得不提的点是在学习中不能为了学习而学习,因为这必然是枯燥的。比如学习到一个Java某一个类的时候,需要思考该类有什么作用,实现一个什么功能,在安全领域能实现有一个什么功能。如果不去思考,那必然也是枯燥的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119895.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 双重求和∑matlab_求和∑的性质

    双重求和∑matlab_求和∑的性质目录一、复习求和符号∑二、二重求和的定义三、双重求和∑∑交换求和顺序一、复习求和符号∑    自从约瑟夫·傅立叶于1820年引入求和符号∑(大写的希腊字母sigma)以来,求和∑以及双重求和∑∑在数学公式推导,命题证明中被经常使用,掌握它的定义和性质对于提高我们的数学能力是必不可少的。注意我们在此只讨论有限项的求和。结合律:∑i=1n(ai+b…

    2022年10月12日
  • Windows Auzre 微软的云计算产品的后台操作界面

    Windows Auzre 微软的云计算产品的后台操作界面

  • JDBC的概述「建议收藏」

    JDBC的概述「建议收藏」————————————————–JDBC的概述————————————————————1    JDBC概述1 什么是JDBC  JDBC(JavaDataBaseConnectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库…

  • Clipboard.js实现复制文本到剪贴板功能[通俗易懂]

    Clipboard.js实现复制文本到剪贴板功能[通俗易懂]Clipboard.js是一个轻量级的实现复制文本到剪贴板功能的JavaScript插件,该插件可以将输入框,文本域,DOM节点元素中的文本内容复制到剪贴板中。官网地址:https://clipboardjs.com/ 浏览器兼容性:兼容Chrome、Firefox、Opera、Safari、IE9+对于不兼容的浏览器版本也有优雅的降级处理,可以采用下面的方式clipboard.o

  • 外汇平台搭建,外汇交易社区,外汇支付通道,通过区块链如何改变外汇「建议收藏」

    外汇平台搭建,外汇交易社区,外汇支付通道,通过区块链如何改变外汇「建议收藏」在过去几年中,由区块链驱动的比特币对全球财务,特别是外汇行业产生了重大影响。这种创新的加密货币在全球范围内大肆挥霍,并成为头条新闻,很快就能感受到它的存在。虽然比特币很可能继续对外汇行业产生影响,但它实际上是锁定链,这种货币背后的技术,将对外汇行业产生更显着和不可逆转的影响。外汇产业的当前景观外汇市场是全球最大,最具流动性的市场。该行业每周五天,每天24小时开放,主要位于伦敦,而纽约市的每日…

  • Keil5新建STM32工程(详细图解)[通俗易懂]

    Keil5新建STM32工程(详细图解)[通俗易懂]一、下载ST官方库    首先注册账号登录,然后点击产品、微控制器;如图       接着右侧的工具与软件;嵌入式软件,并选择STM32,如图。 我的是STM32F1系列,选择如图这个   获取软件   然后下载即可。 二、安装keil   不介绍。相信都安装好了。三、准备工作       新建project文件夹,并在里面新建三个文件夹,CMSIS(存放内核函数及启动引导文件)…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号