會話cookie中缺少HttpOnly屬性漏洞--分析解決
詳細描述 | 會話cookie中缺少HttpOnly屬性會導致攻擊者可以通過程式(JS指令碼、Applet等)獲取到使用者的cookie資訊,造成使用者cookie資訊洩露,增加攻擊者的跨站指令碼攻擊威脅。 HttpOnly是微軟對cookie做的擴充套件,該值指定cookie是否可通過客戶端指令碼訪問。Microsoft Internet Explorer 版本 6 Service Pack 1 和更高版本支援cookie屬性HttpOnly。 如果在Cookie中沒有設定HttpOnly屬性為true,可能導致Cookie被竊取。竊取的Cookie可以包含標識站點使用者的敏感資訊,如ASP.NET會話ID或Forms身份驗證票證,攻擊者可以重播竊取的Cookie,以便偽裝成使用者或獲取敏感資訊,進行跨站指令碼攻擊等。 如果在Cookie中設定HttpOnly屬性為true,相容瀏覽器接收到HttpOnly cookie,那麼客戶端通過程式(JS指令碼、Applet等)將無法讀取到Cookie資訊,這將有助於緩解跨站點指令碼威脅。 |
解決辦法 | 向所有會話cookie中新增“HttpOnly”屬性。 Java示例: HttpServletResponse response2 = (HttpServletResponse)response; response2.setHeader( "Set-Cookie", "name=value; HttpOnly"); C#示例: HttpCookie myCookie = new HttpCookie("myCookie"); myCookie.HttpOnly = true; Response.AppendCookie(myCookie); VB.NET示例: Dim myCookie As HttpCookie = new HttpCookie("myCookie") myCookie.HttpOnly = True Response.AppendCookie(myCookie) |
解決方式:使用過濾器為每一個cookie新增HttpOnly
在web.xml中加入攔截器:
<!-- Cookie中設定HttpOnly屬性為true --> <filter> <filter-name>CookieFilter</filter-name> <filter-class>com.zfsoft.filter.CookieFilter</filter-class> </filter> <filter-mapping> <filter-name>CookieFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
CookieFilter.java內容如下:
/**
* 向所有會話cookie中新增“HttpOnly”屬性
* @author dyq
* @date 20180628
*
*/
public class CookieHttpOnlyFilter implements Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest Hrequest = (HttpServletRequest)request;
Cookie[] cookies=Hrequest.getCookies();
for(Cookie cookie:cookies){
/**
* //tomcat7 支援該屬性,tomcat6不支援
* //cookie.setHttpOnly(true);
*/
//tomcat6
String value = cookie.getValue();
StringBuilder builder = new StringBuilder();
builder.append("JSESSIONID=" + value + "; ");
builder.append("Secure; ");
builder.append("HttpOnly; ");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, 1);
Date date = cal.getTime();
Locale locale = Locale.CHINA;
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss",locale);
builder.append("Expires=" + sdf.format(date));
resp.setHeader("Set-Cookie", builder.toString());
}
chain.doFilter(new StrutsRequestWrapper((HttpServletRequest) request), response);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
相關推薦
會話cookie中缺少HttpOnly屬性漏洞--分析解決
詳細描述會話cookie中缺少HttpOnly屬性會導致攻擊者可以通過程式(JS指令碼、Applet等)獲取到使用者的cookie資訊,造成使用者cookie資訊洩露,增加攻擊者的跨站指令碼攻擊威脅。HttpOnly是微軟對cookie做的擴充套件,該值指定cookie是否可
Web專案:會話Cookie中缺少HttpOnly屬性和secure屬性
當會話Cookie中不含有HttpOnly屬性和secure屬性時,注入站點的惡意指令碼可能訪問此Cookie,並竊取它的值。任何儲存在會話令牌中的資訊都可能被竊取,並在稍後用於身份盜竊或使用者偽裝。 基本上,cookie 的唯一必需屬性是“name”欄位,必
會話cookie中缺少secure屬性
What is it and why do I care ? Session cookies (或者包含JSSESSIONID的cookie)是指用來管理web應用的session會話的cookies.這些cookie中儲存特定使用者的session ID標識,而且相同
IBM AppScan 安全掃描:加密會話(SSL)Cookie 中缺少 Secure 屬性處理辦法
原因分析: 伺服器開啟了Https時,cookie的Secure屬性應設為true; 解決辦法: 1.伺服器配置Https SSL方式,參考:https://support.microsoft.com/kb/324069/zh-cn 2.修改web.config,新增: <
加密會話(SSL)Cookie 中缺少 Secure 屬性
appscan掃出來的漏洞,應用伺服器是was8.5 ,web伺服器是apache http server,配置了ssl加密傳輸,這個問題說的是在ssl傳輸中,系統所用的cookie沒有進行設定secure屬性。 首先cookie分為兩種,一種是使用者瀏覽器請求應用伺
Cookie 缺少 HttpOnly屬性和x-frame-options 缺失問題
過濾器dofileter 方法中 新增 HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; res.addHead
Cookie中的httponly的屬性和作用
response.setHeader("Set-Cookie", "cookiename=httponlyTest;Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
Tomcat為Cookie設置HttpOnly屬性
Tomcat HttpOnly A:Tomcat 中維持Java webapp的Http會話是以Cookie形式實現的存儲在服務端用戶狀態信息的;B:服務端可以自定義建立Cookie對象及屬性傳遞到客戶端;服務端建立的Cookie如果沒有設置HttpOnly屬性,則在客戶端可以用js讀取Cookie中
ThinkPHP 3.1中的SQL注入漏洞分析----論ThinkPHP 3.1中的半吊子的PDO封裝
我總結ThinkPHP的PDO封裝可以用買櫝還珠來下結論,表面上封裝了PDO支援,但實際卻並沒有使用到PDO的精髓部分,這不是買櫝還珠是什麼呢? 花了一些時間瞭解到ThinkPHP 3.1框架,其官方網站上對其描述得相當不錯,但隨著我閱讀其程式碼,事實並不是想象的那
淺談HTTP Cookie 的 Secure 和 HTTPONLY屬性
cape name col cap http 版本 span http協議 ring 最近工作中遇到了關於cookie的secure及httponly屬性的問題,所以關註並學習了一段時間,這裏做一下簡要記錄。關於secure和httponly標誌的用途可以參考wikip
fiddler會話列表中,會話的屬性及其圖示的含義
一、會話屬性 #:為了方便查詢和定位而生成的請求id,從1開始。 Result:http響應的結果編碼。 Protocol:會話使用的協議,例如http、https、ftp。 Host:請求傳送到的伺服器主機名。 URL:在伺服器中的路徑和檔案。 Body:響應body的位元組數,
智慧合約中的“座霸” | 成都鏈安漏洞分析連載第七期 ——儲存器區域性變數未初始化
針對區塊鏈安全問題,成都鏈安科技團隊每一週都將出智慧合約安全漏洞解析連載,希望能幫助程式設計師寫出更加安全牢固的合約,防患於未然。 行身踐規矩,甘辱恥媚灶。——韓愈 前情提要 上回講到, 區塊鏈遊戲江山如畫, 安全防護未規劃, 一片殘陽西掛。 我
java過濾器給Cookie加上HttpOnly屬性
網上擼下來的程式碼登入不了… 公司安全掃描出的漏洞之一,看到的第一步就是各種百度,但是簡單複製貼上過來的程式碼連登入都登入不上了… 尷尬;然後發現貌似cookie的Name和value沒有對應上,需要改一點點… 而且原始碼的doFilter(request,
PHP設定Cookie的HTTPONLY屬性
httponly是微軟對cookie做的擴充套件。這個主要是解決使用者的cookie可能被盜用的問題。 大家都知道,當我們去郵箱或者論壇登陸後,伺服器會寫一些cookie到我們的瀏覽器,當下次再訪問其他頁面時,由於瀏覽器回自動傳遞cookie,這樣就實現了一次登陸就可以看到所有需要登陸後才能看到的內容。
JSON型別資料轉換為物件,並排除指定的屬性.JAVA將購物車資料寫入到cookie中
public void addCart(HttpServletRequest request, HttpServletResponse response, Long skuId, Integer quantity) { //獲取所有co
Linux中create_elf_tables函式整型溢位漏洞分析(CVE-2018-14634)
在這篇文章中,我們將跟大家分析Linux平臺中create_elf_tables函式的一個整型溢位漏洞(CVE-2018-14634)。 概述 在近期的一次安全分析過程中,我們在64位Linux系統核心裡的create_elf_tables()函式中發現了一個整型溢位漏洞,本地攻擊者將
Tomcat為Cookie設定HttpOnly屬性
A:Tomcat 中維持Java webapp的Http會話是以Cookie形式實現的儲存在服務端使用者狀態資訊的; B:服務端可以自定義建立Cookie物件及屬性傳遞到客戶端; 服務端建立的Cookie如果沒有設定HttpOnly屬性,則在客戶端可以用js讀取Cookie
關於Cookie 的HttpOnly屬性(java/web操作cookie+Tomcat操作jsessionid)
public class CookieFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOExcept
cookie httponly屬性
http://blog.csdn.net/u014538198/article/details/41596735 arks the cookie as accessible only through the HTTP protocol. This means that
有關cookie的httponly屬性相關
先記錄下相關網上的連結,有時間自己再總結一份自己的理解 對於很多隻依賴於cookie驗證的網站來說,HttpOnly cookies是一個很好的解決方案,在支援HttpOnly cookies的瀏覽器中(IE6以上,FF3.0以上),javascr