freeBuf
主站

分類

漏洞 工具 極客 Web安全 系統安全 網絡安全 無線安全 設備/客戶端安全 數據安全 安全管理 企業安全 工控安全

特色

頭條 人物志 活動 視頻 觀點 招聘 報告 資訊 區塊鏈安全 標準與合規 容器安全 公開課

官方公眾號企業安全新浪微博

FreeBuf.COM網絡安全行業門戶,每日發布專業的安全資訊、技術剖析。

FreeBuf+小程序

FreeBuf+小程序

Java代碼審計丨某開源系統源碼審計
2018-07-27 15:30:02

*本文中涉及到的相關漏洞已報送廠商并得到修復,本文僅限技術研究與討論,嚴禁用于非法用途,否則產生的一切后果自行承擔。

*本文作者:黑客小平哥,本文屬 FreeBuf 原創獎勵計劃,未經許可禁止轉載。

java源代碼審計相關資料一直比較少,今天抽空給大家寫一篇簡單的開源代碼審計,這是個做公司網站的開源模板,由于項目比較小,本次就針對幾個比較嚴重的漏洞講解一下發現的過程,其它的一些小漏洞,包括XSS一類的就不寫了,希望給大家學習幫助。

編譯別人的源代碼是一項比較痛苦的過程,各種錯誤都是很蛋疼的,基礎原理我就不講了,大家都知道,還是不喜勿噴。

Struts2系列漏洞:

導入項目后,瀏覽下項目的目錄結構,發現一個比較老的Struts2版本,不用說了就是一堆Struts系統漏洞,工具來一波:

java代碼審計系列-某開源系統源碼審計java代碼審計系列-某開源系統源碼審計

上傳個webshell,發現亂碼,算了這不是重點。

java代碼審計系列-某開源系統源碼審計java代碼審計系列-某開源系統源碼審計

文件上傳:

當瀏覽action文件的時候,發現如下上傳代碼,其實是對文件進行復制,“uploadFileName”為文件名,格式為:時間戳+_+文件名,重點是沒有對文件后綴進行校驗。

java代碼審計系列-某開源系統源碼審計

想要找出上傳的位置,繼續找出使用該方法的位置,全局搜索一下,發現4處js使用了該方法,我們查看其中“add_ajax_upload.js”,發現的確使用了該方法。

java代碼審計系列-某開源系統源碼審計java代碼審計系列-某開源系統源碼審計

繼續查找使用該js的頁面,發現“productInfoManage.jsp”使用了該js

java代碼審計系列-某開源系統源碼審計

那么我們繼續進入“productInfoManage.jsp”去看看,發現該頁面的添加功能有該上傳點:

java代碼審計系列-某開源系統源碼審計

java代碼審計系列-某開源系統源碼審計

我們抓包上傳個jsp文件,發現上傳成功,至此該上傳漏洞確認:

java代碼審計系列-某開源系統源碼審計java代碼審計系列-某開源系統源碼審計

SQL注入:

繼續瀏覽action文件時,發現此處一個查詢功能,入參為noticeInfo:

java代碼審計系列-某開源系統源碼審計

進入noticeService.queryNotice查看

java代碼審計系列-某開源系統源碼審計

繼續追溯到dao層,看到sql拼接,此處存在SQL注入:

java代碼審計系列-某開源系統源碼審計

既然存在注入,那么我們查找入參在哪個頁面,發現在noticeManage.jsp的查詢功能使用了該方法:

java代碼審計系列-某開源系統源碼審計

進入“noticeManage.jsp”頁面查看

java代碼審計系列-某開源系統源碼審計

對搜索查詢功能抓包注入,發現存在SQL注入,到此注入驗證存在:java代碼審計系列-某開源系統源碼審計java代碼審計系列-某開源系統源碼審計

結語:

此次審計源代碼項目較小,漏洞問題不多,希望借此給小白打開審計大門,若有部分遺漏和錯誤希望各位大佬指正,項目和文章僅供參考。

*本文作者:黑客小平哥,本文屬 FreeBuf 原創獎勵計劃,未經許可禁止轉載。

本文作者:, 屬于FreeBuf原創獎勵計劃,未經許可禁止轉載

# 源碼審計 # Java代碼審計
被以下專輯收錄,發現更多精彩內容
+ 收入我的專輯
評論 按熱度排序

登錄/注冊后在FreeBuf發布內容哦

相關推薦
  • 0 文章數
  • 0 評論數
  • 0 關注者
登錄 / 注冊后在FreeBuf發布內容哦
收入專輯
四月天小说网