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某一个类的时候,需要思考该类有什么作用,实现一个什么功能,在安全领域能实现有一个什么功能。如果不去思考,那必然也是枯燥的。

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • linux安装在固态盘性能差_固态硬盘格式化不了

    linux安装在固态盘性能差_固态硬盘格式化不了##磁盘尽可能恢复到从未被使用且不包含任何数据的状态检查磁盘Security状态给该磁盘设定一个密码执行secureerase命令上述方法可以尽可能的将硬盘恢复到新盘无数据状态检查磁盘Security状态hdparm-I/dev/sdc检查磁盘security状态,如果frezen直接热插拔,然后再次检查该磁盘状态,如果状态切换到了notfrozen则可以进行secureerase操作给该磁盘设定一个密码使用命令“hdparm–user-masteru–security-s

    2022年9月15日
  • 计算机软件著作权源代码_软件著作权代码页数

    计算机软件著作权源代码_软件著作权代码页数软件著作权源代码文档的要求:代码总共60页,前面30页/后面30页,每页50行。前面30页要连续,后面30页要连续,30页与31页可不连续。代码结尾要有结束标志,不要空格和注释。一、清除整个文档的空行:方法:用ctrl+a(快捷方式),选中全部源程序代码文档;点击word的查找替换功能查找:^p^p;替换为:^p。选择“全部替换”。反复N次,直到全部替换完成。二、清除注释1.清除单行注释//*^13全部替换为空2.清除多行注释/\*\*^13*/^13全部替换为空…

    2022年9月15日
  • 编译LAVFilters

    编译LAVFiltersLAV Filters编译全攻略0. Msys mingw安装1. Git安装2. Yasm下载3. Lavfiltes下载4. Ffmpeg下载5. Pkg-config 不用单独用gtk+包包含了很多工具和库用于mingw 【开发环境】直接下载的地址http://xhmikosr.1f0.de/tools/ 且包含了yasm zlib等已经弄好了。-j8也可

    2022年5月21日
  • 大整数的加法运算_大整数相减

    大整数的加法运算_大整数相减问题:如果给出两个很大很大的整数,这两个数大到long类型也装不下,如何求他们的和呢?回顾起小学数学,当我们需要计算两个较大数目的加减乘除,我们是用列竖式的方式来计算的。因为对于较大的整数,我们无法一步就直接计算出结果,所以不得不把计算过程拆分成一个一个小步骤来完成。不仅仅是人脑,对于计算机来说也可以这样解决。程序不可能通过一条指令计算出两个大整数之和,却可以像列竖式一样将运算拆解成若干小…

    2022年4月19日
  • layui 如何去dom_layui 弹出层

    layui 如何去dom_layui 弹出层这是一个可以重要也可以不重要的方法,重要的是,它的权利真的很大,尤其是在模块化加载layer时,你会发现你必须要用到它。它不仅可以配置一些诸如路径、加载的模块,甚至还可以决定整个弹层的默认参数。而说它不重要,是因为多数情况下,你会发现,你似乎不是那么十分需要它。但你真的需要认识一下这位伙计。如果您是采用seajs或者requirejs加载layer,你需要执行该方法来完成初始化的配置。比如:lay…

    2022年6月11日
  • contemptible_bank conflict

    contemptible_bank conflict本作品采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可。本作品(李兆龙博文,由李兆龙创作),由李兆龙确认,转载请注明版权。

    2022年9月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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