五十五:代碼審計-JAVA項目注入上傳搜索或插件挖掘


必備知識點

必備知識點:
簡要理解JAVA的EB項目組成
代碼方面,框架方面,中間件容器方面等
簡要理解JAVAwEB執行流程
參考下圖及
https://www.cnblogs.com/1987721594zy/p/9186584.html
https://blog.csdn.net/weily11/article/details/80643472

com:
公司項目,copyright由項目發起的公司所有
包名為com.公司名.項目名.模塊名.......
持久層: dao、persist、mapper
實體類: entity、model、bean、javabean、pojo
業務邏輯: service、biz
控制器:controller、servlet、action、web
過濾器:filter
異常:exception
監聽器:listener
在不同的框架下一般包的命名規則不同,但大概如上,不同功能的Java文件放在不同的包中,根據Java文件的功能統一安放及命名。

審計思路:

根據業務功能審計優點:
明確程序的架構以及業務邏輯,明確數據流向,
可以從獲取參數-->表現層-->業務層-->持久層,通讀源碼;缺點:耗費時間;
根據敏感函數畝計優點:
可以快速高效的挖出想要的漏洞,判斷敏感函數上下文,追蹤參數源頭;
缺點:覆蓋不了邏輯漏洞,不了解程序的基本松架;l

審計開始前:

1、確定框架;
通過以下三種方式確定框架:
web . xml
看導入的jar包或pom. xml
看配置文件
struts2配置文件:struts. xml
spring配置文件:applicationcontext. xml
spring MvC 配置文件:spring-mvc.xml
Hibernate配置文件:Hibernate.cfg- xml
Mybaits配置文件:mybatis-config . xml

2、查看是否存在攔戳器
通過查看web . xml文件,確定是否配置相關攔截器。

簡易Demo段SQL注入及預編譯

第一個SQL執行語句為預編譯技術,防注入。
JAVA預編譯多,因此注入難進行。

IDEA審計插件FindBugs安裝使用
Fortify_SCA代碼自動審計神器使用
shungg.cn
Ofcms后台SQL注入-全局搜索關鍵字
搜索敏感函數
Ofcms后台任意文件上傳-功能點測試
功能點->文件分析


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM