標籤:
最近在修複系統漏洞時,使用新版AppScan掃描IIS網站(WebForm)出現一個嚴重漏洞“已解密的登陸請求”。
掃描工具修複的建議為在登陸介面不使用含“password”類型的控制項或加密錄入參數。 按其所給的建議,我做了如下修改:將password控制項修改為textbox控制項。使用js替換輸入的內容。並將錄入的結果錄入到隱藏控制項中提交時去隱藏控制項的值。
修改後部署更新網站重新掃描並不能解決問題。
通過百度、bing等搜尋工具找了一下兩個解決方案:
1.網站登陸採用ssl方式
2.對登陸請求的資料進行加密
因網站要求,並不能使用ssl方式,所以只能採用加密的方式來解決問題。
我使用了可逆加密方式des加密。在前端加密後再提交資料至服務端進行解密。按此種方式修改後,更新網站再進行掃描得到的結果是依然不能解決這個漏洞的問題。於是我認真查看了AppScan提交資料請求的記錄。發現我提交請求的資料,並沒有按我要求進行加密。而是在配置AppScan登陸的資料。這說明AppScan請求登陸只會根據你的配置資訊來進行登陸,並不去管你的登陸是否做了其它處理。這是否存在一個問題?你配置appscan的時候你需要配置網站登陸資訊,但是他解密時提交的資料本來就是你配置好的。本就是配置的資料,為什麼還說你解密的?這裡我對appscan的掃描存在質疑(appscan在坑人,你必須得用ssl方式訪問網站登陸!!)。
因網站的不能使用ssl方式,所以我找同事討論。得到另一個解決方案:登陸提交資料使用隱藏控制項(包含登陸使用者與密碼),在提交之前對原來登陸使用者、密碼錄入框內的內容進行清空。後台判斷若錄入框記憶體在內容則提示“登陸操作錯誤!”。這樣配置後重新掃描,問題得到瞭解決,但是存在一個問題AppScan再也登陸不了系統了(掃描是會提示不能正常登陸系統,請確定登陸配置是否正確)。
DES加密及解密(js與C#配套)可參考:http://www.cnblogs.com/luowanli/archive/2013/03/08/DES-Base64%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86.html
IBM掃描工具AppScan漏洞“已解密的登陸請求”修複解決方案