簡言之,APPScan的工作原理如下:
1)通過“探索”功能,利用HTTP Request和Response的內(nèi)容,爬行出指定網(wǎng)站的整個Web應用結(jié)構(gòu)
2)AppScan本身有一個內(nèi)置的漏洞掃描的規(guī)則庫,可隨版本進行更新。從探索出的url中,修改參數(shù)or目錄名等方式,構(gòu)造不同的url對照組向服務器發(fā)送請求or攻擊
3)根據(jù)HTTP Response返回的內(nèi)容,和正常請求所返回的響應作對比,是否產(chǎn)生差異性,而這種差異性又是否符合掃描規(guī)則庫的設定規(guī)則,以此來判斷是否存在不同類型的安全漏洞
4)若APPScan可判斷存在安全漏洞,則對這些漏洞的威脅風險給出說明,進行嚴重程度提示,并給出修復的建議和方法,以及漏洞發(fā)現(xiàn)的位置提示
“AppScan 全面掃描”包含兩個階段:探索和測試。盡管掃描過程的絕大部分對于用戶來說實際上是無縫的,并且直到掃描完成幾乎不需要用戶輸入,但理解其后的原則仍然很有幫助。
探索階段?Explore原理: 告訴Appscan網(wǎng)站的入口地址,然后它“順藤摸瓜”,找出其他的網(wǎng)頁和頁面參數(shù)? Explore本質(zhì)也算是一種“爬蟲”技術(shù),具體說,是“網(wǎng)站爬蟲”,其利用了網(wǎng)頁的請求都是用 http 協(xié)議發(fā)送的,發(fā)送和返回的內(nèi)容都是統(tǒng)一的語言 HTML,Appscan對 HTML 語言進行分析,找到里面的參數(shù)和鏈接,紀錄并繼續(xù)發(fā)送之,最終,找到了這個網(wǎng)站的眾多的頁面和目錄,并記錄下來,整個這一套過程在AppScan里就叫做:Explore
在第一個階段中,AppScan 通過模擬 Web 用戶單擊鏈接和填寫表單字段來探索站點(Web 應用程序或 Web Service)。這就是“探索”階段。
AppScan 將分析它所發(fā)送的每個請求的響應,查找潛在漏洞的任何指示信息。AppScan? 接收到可能指示有安全漏洞的響應時,它將自動基于響應創(chuàng)建測試,并通知所需驗證規(guī)則,同時考慮在確定哪些結(jié)果構(gòu)成漏洞以及所涉及到安全風險的級別時所需的驗證規(guī)則。
在發(fā)送所創(chuàng)建的特定于站點的測試之前,AppScan 將向應用程序發(fā)送若干格式不正確的請求,以確定其生成錯誤響應的方式。之后,此信息將用于增加 AppScan 的自動測試驗證過程的精確性。
測試階段
在第二個階段,AppScan 將發(fā)送它在探索階段創(chuàng)建的數(shù)千個定制測試請求。它使用定制驗證規(guī)則記錄和分析應用程序?qū)γ總€測試的響應。這些規(guī)則既可識別應用程序內(nèi)的安全問題,又可排列其安全風險級別。
掃描階段
在實踐中,“測試”階段會頻繁顯示站點內(nèi)的新鏈接和更多潛在安全風險。因此,完成探索和測試的第一個“過程”之后,AppScan 將自動開始第二個“過程”,以處理新的信息。如果在第二個過程中發(fā)現(xiàn)了新鏈接,那么會運行第三個過程,依此類推。
完成配置的掃描階段數(shù)(可由用戶配置;缺省情況下為四個階段)之后,掃描將停止,并且完整的結(jié)果可供用戶使用。