您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“代碼審計(jì)之fortify工具怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“代碼審計(jì)之fortify工具怎么用”這篇文章吧。
1.去下載裝安裝cms
官網(wǎng)地址自行猜測,自行下載。主講思路過程,任意一套系統(tǒng)都可。
2.安裝過程簡單分析是否有漏洞
不做安裝分析,很多都程序都會(huì)刪掉安裝包,有興趣的可以搞一下,這里略過。
3.安裝完成后,訪問首頁,分析路由
i.index.php
定義了NoDb常量,,,mark下,現(xiàn)在還不知道有啥用
加載了全局配置文件config.php
定義了路由的方法
ii.config.php
定義了些許的常量
包含了func.php文件(系統(tǒng)基本所有函數(shù)、加數(shù)據(jù)的操作類)
根據(jù)NoDb常量的值,取決了要不要初始化數(shù)據(jù)庫。(mark 上述疑問解答)
最后一個(gè)函數(shù)_stripslashes,是否要去除轉(zhuǎn)義,如下圖:
判斷是否支持,開啟了自動(dòng)轉(zhuǎn)義。如果開啟了就全局去除分斜杠,還原數(shù)據(jù)。
iii.index.php文件最后一行代碼match_route();
讀取數(shù)據(jù)庫,并進(jìn)行了緩存操作。
緩存記錄
初始化模板
加載模板
模板解析
完成首頁顯示,完成這個(gè)流程分析,對這個(gè)cms有了大概的了解
4.下面借助工具fortify快速人工審計(jì)
xss
這里有說存在,簡單一看,沒有過濾機(jī)制,那么具體分析數(shù)據(jù)來源是否準(zhǔn)確無誤,
這個(gè)位置是輸入框,數(shù)據(jù)來源人工填寫,它的目的地為數(shù)據(jù)庫存儲(chǔ),那現(xiàn)在關(guān)鍵位置是數(shù)據(jù)庫存儲(chǔ)的過程是否有做安全性過濾。
這里有個(gè)函數(shù)dbstr,數(shù)據(jù)庫字符串函數(shù)的處理,那么看函數(shù)的定義
分析得知,數(shù)據(jù)做了單引號的過濾,和反斜線的轉(zhuǎn)義,沒有過濾尖括號,那我們隨意構(gòu)建payload:<script>alert(1)</script>,效果圖下圖:
源代碼:
File Inclusion
這里提示有文件包含,查看代碼邏輯需要兩個(gè)參數(shù),do、nohtml、do的參數(shù)值做分隔處理,第一個(gè)參數(shù)值為路徑,第二個(gè)參數(shù)值為文件名。后面還有個(gè)驗(yàn)證函數(shù),代碼如下:
使用了正則做了驗(yàn)證,允許輸入的值數(shù)字和字母并且長度也做了限定,包括后綴也做了限定,那么存不存在包含,顯然可以是可以包含的,但是包含的范圍比較小,為什么?自己想一下。如果能突破這個(gè)限定,那肯定更牛叉。
后臺(tái)自帶文件管理系統(tǒng)
按照cnvd的評判標(biāo)準(zhǔn),這個(gè)系統(tǒng)只要拿些后臺(tái),就是一個(gè)高危的評級。因?yàn)閟hell如此簡單。
5. 難點(diǎn)分析
前臺(tái)沒有什么交互的模塊,所有著手于后臺(tái),那么從上面的分析來看,這個(gè)框架,只要突破了后臺(tái)賬號密碼,那么shell唾手可得?,F(xiàn)在分析登錄的過程。
沒有做驗(yàn)證碼的做驗(yàn)證,是否可以爆破下弱口令。
到此,這些過程說明,登錄做了限制,15分鐘內(nèi),只能發(fā)送20次的登錄請求,那我們分析緩存文件的生成規(guī)則:
也就是說,IP如果可以換。那么是不是就可以做到15分鐘20次的登錄限制,當(dāng)然你要有相當(dāng)多的ip代理池。支撐你的所有請求。接著往下看:
到這里程序里面的驗(yàn)證數(shù)據(jù)庫的SQL語句沒有SQL注入。這里還有第三方的登錄,看過程:
數(shù)據(jù)庫默認(rèn)是空,即code的get傳值為空,就可以在MySQL獲取數(shù)據(jù)并登錄成功,什么字符串在單引號里面,相當(dāng)于是空值。
以上是“代碼審計(jì)之fortify工具怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。