2020年下半年總結與計劃

2020年下半年總結與計劃

0x00 前言

2020年到現在已經到了十二月中旬,下半年所學的東西仍是挺多,我以爲學習的一個效率也是有着飛躍般的提高。主要的緣由可能在於我和個人好朋友(基友)住在一個房間,互相督促學習。其次的緣由是在這互相督促中基本都擼到4點左右進行學習一個新的東西。包括生活中的一些小想法或者是在安全中的一些想法。還有的一點緣由是由於在後面一段時間中團隊幾我的一塊兒爲咱們幾我的學習的一個方向進行一個頭腦風暴,而後去定製化一些腦圖。後面對應腦圖瘋狂學習,而且輸出對應的文章。java

在學習內容中其實也會實時進行一個更新,目前也是完成大半了。web

0x01 絮絮不休

其實都知道今年並很差過,因爲疫情的緣故有一個多月也是在家辦公。而在這期間爲個人Java學習的基礎打下了一些基礎。在這是將Java的一些基礎其中包括JavaSE、Javaweb、以及SSM框架這些給刷了一遍。 而在疫情隔離之後,就是hvv。而在期間今年擔任的是防守隊,而在這期間也是學習了Java代碼審計,成果是一個sql注入和兩個xss。其實在這些相似於攻防演練藍隊都比較划水,大體是到4點左右沒事件了,就直接打瞌睡。可是我以爲並不能由於划水而划水,而個人作法是查看其餘師傅們的代碼審計文章,而且查詢開發資料,瞭解一個漏洞在Java中的產生過程和關鍵產生漏洞的一些類。那麼瞭解了這些後,有開發基礎的狀況下,就能夠對一套源代碼進行一個代碼審計。而我後面由於條件比較苛刻,就算能審計代碼,可是在審計完成後,須要對該審計出來的漏洞進行驗證,須要使用到一些payload。可是在藍隊划水工做中,鏈接的是客戶的內網環境,裏面會有不少監測設備,並且這些都是全內網環境,不出網。因此驗證漏洞和查詢資料都不能去進行一個操做,而個人解決方式是開虛擬機而後手機開啓熱點,虛擬機網絡鏈接熱點。算法

我以爲這是一個很好的學習(划水)機會,得將該時間給利用起來。在這期間是將這些漏洞在Java中產生原理給理了一遍,在此爲代碼審計打下基礎。sql

後面發現網上不多會有Java的源代碼,有一次在一次滲透中,利用信息泄露,打下的一個數據庫,可是他的加密的是一個DES的加密(一開始不知道,一開始覺得是AES)。查詢到一些指紋信息發現他的CMS後,網上進行了一個下載,而後進行審計。開始興致大起,下了500m的源碼後才發現,這壓根就不是源代碼。而是編譯後的class文件。當時想着既然是編譯後的文件公佈出來爲啥不能直接打包成war包呢?可是仍是得硬剛。放入JD-GUI進行反編譯後,查看到僞代碼,而後查詢加密方式。後來是在一個他們開發中封裝的jar包裏面的一個工具類獲得這個加密模式。由於在裏面就定義了3DES的加密方式,這個方式會被插入一些數據的方法給調用,從而定位到該算法。而後拿到該密鑰進行本地的解密,獲得該數據結果。shell

從中不得不說的是沒有源代碼,沒法直接快捷的方式進行跳轉,只能去進行全局搜索,而後查找調用。數據庫

因此後面的重點放在了反序列化漏洞分析這塊。在hvv的後面幾天就在分析這個URLDNS利用鏈以及實際運用場景。json

其實在這段時間中,發現通常作這方面的分爲兩類人:一種是爲了應付工做,一種是真正的喜歡這麼一個東西,想去這方面作得更好。安全

若是是應付工做的話,那麼我以爲這是一個痛苦的。網絡

我以爲若是喜歡這麼一個東西的話,就應該作得更好,再者若是喜歡的東西,變成一個工做後,難道不該該作到更好?框架

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某一個類的時候,須要思考該類有什麼做用,實現一個什麼功能,在安全領域能實現有一個什麼功能。若是不去思考,那必然也是枯燥的

相關文章
相關標籤/搜索