前言
最近系統讓 AppScan 掃時,會出一個「未更新階段作業 ID」的問題,如下,
解法
從 report 中來看,「登入後變更階段作業 ID 值」, Cookie ASP.NET_SessionId 登入後就會變了呀!
怎麼會要我再變更 Session Id 呢? 而且 Report 的結果, ASP.NET_SessionId 也會變呀!
詢問同事 Joe 後才知道,原來它是看系統 所有的 Cookie ,在登入後需要變更才行。
因為它會在 Login 前先將那些 Cookie 給值,然後在 Login 後去檢查原先的那些 Cookie 是否相同,如果相同的話,就會有「未更新階段作業 ID」的問題。
例如,系統會用到 cookie-a, cookie-b, cookie-c ,在登入前 AppScan 先給它值分別為 1, 2, 3。
在登入後, AppScan 再去看 cookie-a, cookie-b, cookie-c 是否有相同的值,如果有的話,就算是有那個問題。
知道它如何檢查的之後,就可以在 Login 後,將不用的 Cookie 清除,或是去重設那些 Cookie 的值!
參考資料
Session Fixation & Forms Authentication Token Termination in ASP.NET
Common causes for a “Session Identifier not Updated” false positive in AppScan Enterprise
PM12982: Session Identifier Not Updated information display issue
Information for Session tests and ASP.NET in AppScan Standard