代碼審計-java項目-組件漏洞審計

代碼審計必備知識點:

1、代碼審計開始前準備:

環境搭建使用,工具插件安裝使用,掌握各種漏洞原理及利用,代碼開發類知識點。

2、代碼審計前信息收集:

審計目標的程序名,版本,當前環境(系統,中間件,腳本語言等信息),各種插件等。

3、代碼審計挖掘漏洞根本:

可控變量及特定函數,不存在過濾或過濾不嚴謹可以繞過導致的安全漏洞。

4、代碼審計展開計劃:

審計項目漏洞原理->審計思路->完整源碼->應用框架->驗證并利用漏洞。

代碼審計兩種方法

功能點或關鍵字分析可能存在的漏洞

?? -抓包或搜索關鍵字找到代碼出處及對應文件。

?? -追蹤過濾或接收的數據函數,尋找觸發此函數或代碼的地方進行觸發測試。

?

?? -常規或部分MVC模型源碼可以采用關鍵字的搜索挖掘思路。

?? -框架 MVC 墨香源碼一般會采用功能點分析抓包追蹤挖掘思路。

1.搜索關鍵字找敏感函數

2.根據目標功能點判斷可能存在的漏洞

案例:CNVD-悟空CRM9.0JAVA)-Fastjson組件

1.根據cnvd公開的漏洞信息得知悟空CRM9.0存在命令執行漏洞。

2.下載悟空CRM9.0源碼:https://github.com/72wukong/72crm-9.0-JAVA??? 。將源碼導入到IntelliJ IDEA ,部署好環境,啟動服務器。

3.進入IntelliJ IDEA,第一步就是打開pom.xml文件,查看項目引用了哪些組件。

當將鼠標移動到fastjson組件時提示使用的1.2.54版本存在漏洞。

4.搜索fastjson組件產生過的歷史漏洞,找到對應版本的漏洞,查看漏洞利用信息。

5.知道產生的漏洞之后還需要知道fastjson在源碼中是怎么使用的。

搜索后得知:使用fastjson時最常用的方法就是parseobject()。所以就可以在源碼中搜索? parseobject? 確認源碼中使用fastjson的位置

6.全局搜索queryTaskByWorkId方法,看是誰調用了,路由地址是多少。

7.通過跟蹤代碼得知路由地址為:work/queryTaskByWorkId???? 需要以post方式傳遞json參數,

數據類型為:Content-Type:application/json;charset=UTF-8

8.訪問路由地址抓包修改。配合dnslog測試是否成功執行命令——傳遞的json數據:{"@type":"java.net.Inet4Address","val":"dnslog地址"}

9.dnslog成功接收到請求信息,漏洞存在。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41870.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圖數據庫_Neo4j和SpringBoot整合使用_實戰創建明星關系圖譜---Neo4j圖數據庫工作筆記0010

然后我們再來看一下這個明星關系圖譜 可以看到這里 這個是原來的startRelation 我們可以寫CQL去查詢對應的關系 可以看到,首先查詢出來以后,然后就可以去創建 我們可以把寫的創建明星關系的CQL,拿到 springboot中去執行 可以看到,這里我們先寫一個StarRelationRepository,然…

Java二分法查找

二分法:首先需要一個由小到大排序好的數組,先找到其中間值,然后進行比較如果比較中間值大的話則向前找。如果比要找的小,則向后找。 代碼實現: //定義查詢方法 public static int searchTarget(int[] nums, int targ…

wireshark界面內容含義

網絡分析工具——WireShark的使用(超詳細)_世間繁華夢一出的博客-CSDN博客 wireshark抓包數據:理解與分析_wireshark里面length_ 佚名的博客-CSDN博客

【圖書推薦 | 測試】—《測試設計思想》

前言 隨著科技的不斷發展,互聯網的不斷進步,日益出現了一種趨勢:測試設計將成為一種跨領域的綜合性工作,測試者將成為一種跨領域的通用型人才。由此清華大學出版社推出了一本名為《測試設計思想》的書籍,由知名專家周…

PHP-FPM進程排查

1、查看php-fpm的進程個數 ps -ef |grep "php-fpm"|grep "pool"|wc -l2、查看每個php-fpm占用的內存大小 ps -ylC php-fpm --sort:rss3.查看PHP-FPM在你的機器上的平均內存占用 ps --no-headers -o "rss,cmd" -C php-fpm | awk { sum$1 } END…

防止 JavaScript 中的正則表達式回溯

防止 JavaScript 中的正則表達式回溯 正則表達式是用于在軟件應用程序中操作和驗證文本的強大工具。然而,某些正則表達式模式可能容易受到回溯的影響,這可能會導致超線性運行時,并可能導致DoS攻擊。在本文中,我們將探討什么是回溯…

ios swift5 collectionView 瀑布流(兩列)

文章目錄 1.瀑布流1.1 demo地址1.2 記得把部署的最低版本由8改成11,13甚至更高。不然編譯會報錯 2.動態計算圖片和文字的高度 1.瀑布流 1.1 demo地址 CollectionViewWaterfallLayout - github 1.2 記得把部署的最低版本由8改成11,13甚至更高。不然編譯會報錯 2.動態計算圖片和…

產業園區數字孿生3d可視化全景展示方案

隨著數字經濟的發展,數字技術給企業發展帶來了機遇的同時,也為企業管理帶來挑戰。比如園區運維,不僅體量大,復雜的運維管理系統,落地難度也較高。那么如何通過數字化手段重塑園區運營,打通園區各業務數據孤…

SQLyog中導入CSV文件入庫到MySQL中

1.在數據庫中新建一個表,設置列名(與待導入文件一致),字段可以多出幾個都可以 2.右鍵表名,導入- - >導入使用本地加載的CSV數據 選擇使用加載本地CVS數據 3.指定好轉義字符,將終止設置為,號(英文狀態下…

idea常見錯誤大全之:解決全局搜索失效+搜索條件失效(條件為空)+F8失靈

問題一:全局搜索快捷鍵ctrlshiftf 突然失靈了,鍵盤敲爛了 都沒反應,這是為什么呢? 肯定不是idea本身的原因,那么就是其它外在因素影響到了idea的快捷鍵,那么其它的快捷鍵為什么沒失效呢,原因只有…

服務器擴展未生效

服務器擴容未生效 在阿里云付費擴容后,在服務器里面看未生效。 阿里云->實例與鏡像->實例->選擇實例->云盤->擴容進入linux服務器查看: df -h vda1擴容未生效。原40g->擴容后100g 解決方法: 1、安裝growpart yum inst…

Win11環境下 Unity個人版無法激活

網上教程大多都是在win10環境下運行,win11環境下遇到很多沒有碰到的問題,故簡單做個記錄,也方便同樣使用win11的朋友解決問題。 Unity2021無法打開 問題描述:下載Unity2021.3.4f1c1版本(LTS)后&#xff0…

廣州華銳互動:奶牛難產原因及救治VR仿真實訓系統

奶牛難產是一種常見的疾病,對奶牛的健康和生產造成很大的影響。為了解決這一問題,許多奶牛養殖場開始采用VR仿真技術來培訓奶牛獸醫,幫助學生更好地理解奶牛養殖的實際過程,提高他們的實踐能力的教學方式。 VR技術開發公司廣州華銳…

【算法】雙指針劃分思想妙解移動零

Problem: 283. 移動零 文章目錄 思路算法圖解分析復雜度Code 思路 首先我們來講一下本題的思路 本題主要可以歸到【數組劃分/數組分塊】這一類的題型。我們將一個數組中的所有元素劃分為兩段區間,左側是非零元素,右側是零元素 那解決這一類的題我們首先想…

掌握指針進階:一篇帶你玩轉函數指針、函數指針數組及指向函數指針數組的指針!!

🍁博客主頁:江池俊的博客 💫收錄專欄:C語言進階之路 💡代碼倉庫:江池俊的代碼倉庫 🎪我的社區:GeekHub 🎉歡迎大家點贊👍評論📝收藏? 文章目錄 一…

基于Servlet實現的管理系統(包含服務器源碼+數據庫)

資料下載鏈接 介紹 基于Servlet框架的管理系統 簡潔版 ; 實現 登錄 、 注冊 、 增 、 刪 、 改 、 查 ; 可繼續完善增加前端、校驗、其他功能等; 可作為 Servlet項目 開發練習基礎模型; 課程設計 、 畢業設計 開發基礎&…

JVM---jvm里的內存溢出

目錄 堆溢出 虛擬機棧和本地方法棧溢出(棧溢出很少出現) 方法區和運行時常量池溢出 本機內存直接溢出(實際中很少出現、了解即可) 堆溢出 堆溢出:最常見的是大list,list里面有很多元素 堆溢出該怎么解決…

第7章:貝葉斯分類器

貝葉斯決策論 貝葉斯分類器:使用貝葉斯公式 貝葉斯學習:使用分布估計(不同于頻率主義的點估計) 極大似然估計 樸素貝葉斯分類 半樸素貝葉斯 條件獨立性假設,在現實生活中往往很難成立。 半樸素貝葉 斯的一個常用策略…

C++學習筆記4

什么是指針? 指針是存儲內存地址的變量。就像int變量用于存儲整數值一樣,指針變量用于存儲內存地址。指針是一種指向內存單元的特殊變量。 內存單元地址通常使用的是16進制表示(0~9和A~F)來表示數字。顯示…

React源碼解析18(6)------ 實現useState

摘要 在上一篇文章中,我們已經實現了函數組件。同時可以正常通過render進行渲染。 而通過之前的文章,beginWork和completeWork也已經有了基本的架子。現在我們可以去實現useState了。 實現之前,我們要先修改一下我們的index.js文件&#x…