IBM Appscan漏洞修復的問題
參考文件:http://www.cnblogs.com/anngeiBKY/p/4952269.html
1、會話標識未更新
參考文件:http://www.cnblogs.com/anngeiBKY/p/4952269.html 登陸介面和登陸成功的介面一致時,修改後臺邏輯,在驗證登陸邏輯的時候,先強制讓當前session過期,然後用新的session儲存資訊;
request.getSession().invalidate();
if (request.getCookies() != null) {
Cookie cookie = request.getCookies()[0];// 獲取cookie
cookie.setMaxAge(0);// 讓cookie過期
}
HttpSession session = request.getSession(false);
2、使用 HTTP 動詞篡改的認證旁路
參考文件:http://blog.csdn.net/lyd135364/article/details/52067175
方法 從以下位置進行控制: GET 至: BOGUS;在程式中加過濾器,針對每一個請求都加上過濾器
(1) 過濾器程式碼
public class MethodFilter implements Filter{
(2) 過濾器
<filter>
<filter-name>MethodFilter</filter-name>
<filter-class>com.sinba.itsm.MethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MethodFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>MethodFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
3、跨站點請求偽造
參考文件:http://blog.csdn.net/huoyunshen88/article/details/16862493 http://www.myhack58.com/Article/60/61/2016/77539.htm
說的白話一點就是,別的站點偽造你的請求,最可怕的是你還沒有察覺並且接收了。
驗證Referer:
(1)過濾器程式碼
public class RefererFilter implements Filter{
(2)過濾器
<filter>
<filter-name>RefererFilter</filter-name>
<filter-class>com.sinba.itsm.RefererFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RefererFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>RefererFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
4、發現數據庫錯誤模式
專案裡的報錯為資料庫連線數的問題,修改了資料庫的連線數就好了。
5、查詢中接受的主體引數
可以將post方法直接改為get。
6、 缺少“Content-Security-Policy”頭 、 缺少“X-Content-Type-Options”頭、缺少“X-XSS-Protection”頭及缺少跨幀指令碼編制防禦
參考文件:https://wenku.baidu.com/view/61f9027e5727a5e9856a61f3.html http://blog.csdn.net/u013894638/article/details/52135357?locationNum=12 https://imququ.com/post/web-security-and-response-header.html 即在響應地方加上即可:
(1)過濾器程式碼
public class JSHeaderFilter implements Filter{
(2)過濾器
<filter>
<filter-name>JSHeaderFilter</filter-name>
<filter-class>com.sinba.itsm.JSHeaderFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>JSHeaderFilter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
7、自動填寫未對密碼欄位禁用的 HTML 屬性
AppScan 發現密碼欄位沒有強制禁用自動填寫功能。 在input框新增autocomplete="off"屬性。
8、檢測到目標URL存在連結注入漏洞
“連結注入”是修改站點內容的行為,其方式為將外部站點的 URL 嵌入其中,或將有易受攻擊的站點中的指令碼 的 URL 嵌入其中。將 URL 嵌入易受攻擊的站點中,攻擊者便能夠以它為平臺來啟動對其他站點的攻擊,以及攻擊這個易受攻擊的站點本身。 在這些可能的攻擊中,有些需要使用者在攻擊期間登入站點。攻擊者從這一易受攻擊的站點本身啟動這些攻擊,成功的機會比較大,因為使用者登入的可能性更大。 “連結注入”漏洞是使用者輸入清理不充分的結果,清理結果會在稍後的站點響應中返回給使用者。攻擊者能夠將危險字元注入響應中,便能夠嵌入 URL 及其他可能的內容修改。
(1)過濾器程式碼
public class PremeterFilter implements Filter{