免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

Java代碼審計(jì)之實(shí)戰(zhàn)某博客

對(duì)某博客的代碼審計(jì)在gitee上面找了一個(gè)個(gè)人博客項(xiàng)目 , 來進(jìn)行實(shí)戰(zhàn)代碼審計(jì) , 主要還是學(xué)習(xí)為主技術(shù)菜菜 , 哪里錯(cuò)誤希望師傅們指正
1、SQL注入先了解Java Web中的數(shù)據(jù)傳輸流程
graph TB id1(Controller.java 處理前臺(tái)發(fā)送的請(qǐng)求)id1-->id2(Service.java 定義接口_業(yè)務(wù)邏輯)id2-->id3(ServiceImpl.java 對(duì)接口函數(shù)進(jìn)行實(shí)現(xiàn))id3-->id4(Mapper.java Mapper接口)id4-->id5(Mapper.xml 寫sql語句查詢數(shù)據(jù)庫)查SQL注入可以從Mapper看起
graph LR id0(SQL語句)-.拼接.->id1id1(Mapper)-->id2(Impl)id2-->id3(Service)id3-->id4(Controller)
1.1 Mapper層:看到存在拼接函數(shù)form , 接著往上查 , Ctrl+鼠標(biāo)左鍵(ArticleSqlProvider)

Java代碼審計(jì)之實(shí)戰(zhàn)某博客

文章插圖

Java代碼審計(jì)之實(shí)戰(zhàn)某博客

文章插圖
這里要理解Mybatis @SelectProvider
@SelectProvider(type=xxxx.class,method=”xxxx”) 可以理解為:
用自定義的provider類構(gòu)造SQL語句屬性詳解:
type 屬性用于指定獲取sql語句的指定類method 屬性用于指定類中要執(zhí)行獲取sql語句的方法1.2 Impl層:Ctrl+左鍵(getArticleListByCondition)到達(dá)Impl層
Java代碼審計(jì)之實(shí)戰(zhàn)某博客

文章插圖
1.3 Service層【Java代碼審計(jì)之實(shí)戰(zhàn)某博客】看到implements 實(shí)現(xiàn)接口IPostsService
Ctrl+左鍵(IPostsService)到達(dá)Service層
Java代碼審計(jì)之實(shí)戰(zhàn)某博客

文章插圖
1.4 Controller層Ctrl+左鍵(getPostListByArticleCondition)到達(dá)Controller層
到這里之后就能看到form參數(shù)的來源頁面 , 是通過name來獲得參數(shù)
Java代碼審計(jì)之實(shí)戰(zhàn)某博客

文章插圖

Java代碼審計(jì)之實(shí)戰(zhàn)某博客

文章插圖
1.5、驗(yàn)證漏洞找到界面http://127.0.0.1/postsearch
添加參數(shù)http://127.0.0.1/postsearch?name=1,放到sqlmap去跑
Java代碼審計(jì)之實(shí)戰(zhàn)某博客

文章插圖

    經(jīng)驗(yàn)總結(jié)擴(kuò)展閱讀