Για την ανάλυση του XSS από το HttpOnly για τη λήψη πληροφοριών cookie, ανατρέξτε στο γραπτό του Kenshin: Χρήση του httpOnly για τη βελτίωση της ασφάλειας των εφαρμογών.
Ρυθμίσεις στο javaEE:
Δεν παρέχεται συγκεκριμένη μέθοδος λειτουργίας ή χαρακτηριστικό συνάρτησης στο API και δεν ξέρω αν θα παρέχεται σε μελλοντικές εκδόσεις, το παρακάτω είναι μια λύση:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Διαδρομή=/; Domain=neeao.com; Μέγιστη ηλικία=δευτερόλεπτα; HTTPOnly");
————————————————————————————–
Ρυθμίσεις σε ASP.NET Οι εκδόσεις .net 2.0 και νεότερες υποστηρίζουν τη διαμόρφωση του καθολικού httponly στο αρχείο Web.config, το οποίο έχει οριστεί ως εξής, απλώς προσθέστε έναν κόμβο στο web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ Στο αντικείμενο cookie .net 2.0 ή νεότερη έκδοση, υπάρχει μια άμεση παράμετρος HttpOnly για κλήση και η μέθοδος χρήσης είναι η εξής: Κωδικός C#: ------------------------------------------------------------------ HttpCookie myCookie = νέο HttpCookie ("myCookie"); myCookie.HttpOnly = αληθές; Response.AppendCookie(myCookie); ------------------------------------------------------------------- vb.net κωδικός ------------------------------------------------------------------- Dim myCookie As HttpCookie = νέο HttpCookie("myCookie") myCookie.HttpOnly = Αληθές Response.AppendCookie(myCookie) ------------------------------------------------------------------- Στο asp.net 1.1 μπορείτε επίσης να ορίσετε τα καθολικά cookies HttpOnly για προσθήκη στην Application_EndRequest περίπτωση του κόμβου εφαρμογής του καθολικού αρχείου Global.asax: ------------------------------------------------------------------- προστατευμένο void Application_EndRequest(Αποστολέας αντικειμένου, EventArgs e)
{ συμβολοσειρά authCookie = FormsAuthentication.FormsCookieName; foreach (συμβολοσειρά sCookie στο Response.Cookies) { αν (sCookie.Equals(authCookie)) { Response.Cookies[sCookie]. Διαδρομή += "; HttpOnly"; } } } ------------------------------------------------------------------- Εάν το γράψετε στον κώδικα, πρέπει να το προσθέσετε ως εξής: -------------------------------------------- Response.Cookies[cookie]. Διαδρομή += "; HTTPOnly"; --------------------------------------------- ρυθμίσεις στην PHP Οι εκδόσεις PHP5.2 και νεότερες υποστηρίζουν ήδη τη ρύθμιση παραμέτρων HttpOnly και υποστηρίζουν επίσης τη ρύθμιση καθολικού HttpOnly σε php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Ορίστε την τιμή του σε 1 ή TRUE για να ενεργοποιήσετε το χαρακτηριστικό HttpOnly του καθολικού cookie και φυσικά μπορείτε επίσης να το ενεργοποιήσετε στον κώδικα: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); ή session_set_cookie_params(0, NULL, NULL, NULL, TRUE); ?> ----------------------------------------------------- Η λειτουργία λειτουργίας cookie setcookie και η συνάρτηση setrawcookie προσθέτουν επίσης την 7η παράμετρο ως επιλογή για το HttpOnly και η μέθοδος ανοίγματος είναι: ------------------------------------------------------- setcookie("abc", "δοκιμή", NULL, NULL, NULL, NULL, TRUE); setrawcookie("abc", "δοκιμή", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- Για εκδόσεις PHP πριν από τις εκδόσεις 5.1 και PHP4, πρέπει να χρησιμοποιήσετε τη λειτουργία κεφαλίδας για να κάνετε αλλαγές: ------------------------------------------------------------- <?php header("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ΕΠΔΥ Δεν παρέχονται σχετικές μέθοδοι στα ενσωματωμένα αντικείμενα του asp, επομένως μπορείτε να το εφαρμόσετε μόνο ως λύση: -----------------------------------------------------<% ‘************************************************** «Έξοδος ASP httponly cookie IE6.0 ή νεότερη υποστήριξη προγράμματος περιήγησης «WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
«———-SetHttpOnlyCookie—————————————- 'Λειτουργία: Ορισμός HttpOnly Cookies «Παράμετροι: η ημερομηνία λήξης είναι η λήξη της εγγύησης, το 0 σημαίνει ότι δεν έχει οριστεί και η ρύθμιση σε μια συγκεκριμένη χρονική στιγμή στο παρελθόν σημαίνει εκκαθάριση 'argument: ο τομέας είναι κενός (string. Κενό) σημαίνει ότι δεν έχει οριστεί ‘——————————————————————- Συνάρτηση SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Dim μπισκότο cookie=cookieName &; "=" &; Server.URLEncode(cookieValue) &; "; διαδρομή=" & διαδρομή Εάν η ημερομηνία λήξης <> 0 Τότε cookie=cookie & "; expires=" & DateToGMT(expDate) Τέλος εάν
Εάν ο τομέας <> "" Τότε cookie=cookie & "; τομέας=" & τομέας Τέλος εάν
cookie=cookie & "; Μόνο Http"
Call Response.AddHeader ("Set-Cookie", cookie) Λειτουργία τερματισμού
«————-getGMTTime———— «Παράμετροι: sDate είναι η ώρα που πρέπει να μετατραπεί σε GMT ‘——————————— Συνάρτηση DateToGMT(sDate) Dim dWeek,dMonth Dim strZero,strZone strZero="00" strZone="+0800" dWeek=Array("Κυρ","Δευτ","Τρί","Γουές","Πέμ","Παρ","Σαβ") dMonth=Array("Ιαν","Φεβ","Μαρ","Απρ","Μάιος","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ") DateToGMT = dWeek(WeekDay(sDate)-1)&", "&Right(strZero&Day(sDate),2)&" "&dMonth(Month(sDate)-1)&" "&Year(sDate)&" "&Right(strZero&Hour(sDate),2)&":"&Right(strZero&Minute( sDate),2)&":"&Right(strZero&Second(sDate),2)&" "&strZone Λειτουργία τερματισμού ' Παραπομπή 'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Βιβλιογραφικές αναφορές: 1.http://www.owasp.org/index.php/HTTPOnly 2.http://blogs.msdn.com/dansellers/archive/2006/03/13/550947.aspx 3.http://ilia.ws/archives/121-httpOnly-cookie-flag-support-in-PHP-5.2.html 4.http://www.asp101.com/tips/index.asp?id=160 5.http://www.cnblogs.com/wdfrog/archive/2009/04/15/1436493.html |