整合營銷服務(wù)商

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

          免費咨詢熱線:

          終于弄懂了dom型xss和反射型xss的區(qū)別

          終于弄懂了dom型xss和反射型xss的區(qū)別

          基礎(chǔ)學(xué)黑客 搜公眾號:白帽子左一

          前言

          xss漏洞的原理其實很簡單,類型也分為三類,反射型、儲存型和dom型。

          但是剛接觸xss的時候我根本不理解什么是dom型xss,無法區(qū)分反射型和dom型,也很少遇見,現(xiàn)在通過這篇文章可以給新入坑的小白更好的理解xss漏洞,也通過這篇文章鞏固一下我對xss的理解.


          DOM型與反射型對比圖


          兩張簡單的圖幫助大家對比一下異同



          反射型xss分析


          首先還是先簡單介紹一下xss最常見的類型:反射型


          通過pikachu靶場來做簡單的演示分析


          可以看到我們輸入的數(shù)據(jù)通過html頁面回顯了出來,這意味著我們可以嘗試構(gòu)造閉合來注入我們想要的代碼



          檢查一下網(wǎng)頁源碼,處于這個位置(20這個地方顯示了輸入數(shù)據(jù)的長短,改一改就好)



          插入這個代碼測試xss漏洞:<script>alert('1_Ry')</script>,出現(xiàn)彈窗



          分析一下代碼

          $html='';
          if(isset($_GET['submit'])){
              if(empty($_GET['message'])){
                  $html.="<p class='notice'>輸入'kobe'試試-_-</p>";
              }else{
                  if($_GET['message']=='kobe'){
                      $html.="<p class='notice'>愿你和{$_GET['message']}一樣,永遠年輕,永遠熱血沸騰!</p><img src='{$PIKA_ROOT_DIR}assets/images/nbaplayer/kobe.png' />";
                  }else{
                      $html.="<p class='notice'>who is {$_GET['message']},i don't care!</p>";
                  }
              }
          }

          首先通過GET 接收message字符串到后端,然后傳到$html這個變量

          <div id="xssr_main">
              <p class="xssr_title">Which NBA player do you like?</p>
              <form method="get">
                  <input class="xssr_in" type="text" maxlength="20" name="message" />
                  <input class="xssr_submit" type="submit" name="submit" value="submit" />
              </form>
              <?php echo $html;?>
          </div>

          再通過這個變量輸出到前端的頁面,然后剛剛輸入的<script>alert('1_Ry')</script>代碼就會在頁面被執(zhí)行,通過服務(wù)端邏輯來改變了最終的網(wǎng)頁代碼


          DOM型xss分析


          DOM型xss和別的xss最大的區(qū)別就是它不經(jīng)過服務(wù)器,僅僅是通過網(wǎng)頁本身的JavaScript進行渲染觸發(fā)的

          下面我們來看看典型的DOM型xss例子,將下面這句話復(fù)制到有道詞典進行翻譯,相信大家很快就能理解


          This is a test <script>alert('1_Ry')</script>about xss


          在線翻譯_有道 (https://fanyi.youdao.com/)

          看看這句話在html中的位置


          這個例子中的xss語句<script>alert('1_Ry')</script>只是單純的在前端解析,沒有經(jīng)過后端,屬于前端自身的安全漏洞。

          pikachu靶場

          再通過pikachu靶場來深入了解一下DOM型xss


          這是前端界面

          這是源代碼,接下來分析一下這個源碼

          <div id="xssd_main">
              <script>
                  function domxss(){
                      var str=document.getElementById("text").value;
                      document.getElementById("dom").innerHTML="<a href='"+str+"'>what do you see?</a>";
                  }
              </script>
          
              <input id="text" name="text" type="text"  value="" />
              <input id="button" type="button" value="click me!" onclick="domxss()" />
              <div id="dom"></div>
          </div>
          1. 我們通過 <input id=“text” name=“text” type=“text” value="" / > 將字符串賦值給text
          2. 然后JavaScript var str=document.getElementById(“text”).value; 獲取到了text的值
          3. 然后document.getElementById(“dom”).innerHTML=“< a href=’”+str+"’>what do you see?< /a > "; 把這個text字符串整合到a這個標(biāo)簽中的href里再把a標(biāo)簽寫入到dom這個標(biāo)簽中。
          4. 最后< div id=“dom” >< /div > 執(zhí)行這個dom標(biāo)簽


          當(dāng)輸入123源碼中是這樣顯示的


          但當(dāng)輸入:#'onclick="alert('1_Ry')"> 時


          一直點擊則一直彈,同時使用burpsuite抓包的話也是抓不到任何東西,因為沒有產(chǎn)生與服務(wù)器的交互,僅僅通過前端js渲染來改變最終的網(wǎng)頁代碼


          DOM型&反射型XSS漏洞的利用場景

          兩者的攻擊方式?jīng)]有什么不同,都是通過電子郵件等方式發(fā)送這個含有我們構(gòu)造的payload的URL給目標(biāo)用戶,當(dāng)目標(biāo)用戶訪可該鏈接時,服務(wù)器接收該目標(biāo)用戶的請求并進行處理

          然后服務(wù)器把帶有XSS代碼的數(shù)據(jù)發(fā)送給目標(biāo)用戶的測覽器,瀏覽器解析這段帯有XSS代碼的惡意腳本后,就會觸發(fā)XSS漏洞,一般用于獲取對方cookies值


          xss防御方法

          1. 過濾輸入的數(shù)據(jù),包括 ‘ 、“、<、>、on* 等非法字符
          2. 對輸出到頁面的數(shù)據(jù)進行相應(yīng)的編碼轉(zhuǎn)換,包括HTML實體編碼、屬性以及URL請求參數(shù)
          3. 設(shè)置cookie的HttpOnly屬性

          作者:lryfish

          原文地址:https://www.freebuf.com/articles/web/318982.html

          RP協(xié)議的產(chǎn)生

          ARP工作在數(shù)據(jù)鏈路層,數(shù)據(jù)鏈路層的基本功能是構(gòu)造幀和傳輸幀(FRAME),幀由目的MAC地址信息和源MAC地址信息以及數(shù)據(jù)組成。在以太網(wǎng)中, 知道了目的MAC地址和源MAC地址就可以傳輸數(shù)據(jù)了。源MAC地址就是本機MAC,這很好得到,那么如何知道目的IP地址呢,人們發(fā)明了ARP(Address Resolution Protocol)協(xié)議, 用來通過解析IP地址返回目的服務(wù)器的MAC地址

          幀的構(gòu)成圖

          ARP協(xié)議的工作原理

          主機A查看自己的ARP緩存,檢查是否有主機B的IP到MAC的映射,如果有映射,構(gòu)造報文,目的IP為主機B的IP,源IP為主機A的IP,目的MAC為主機B的MAC,源MAC為主機A的MAC,將報文發(fā)送給交換機C,交換機C進行MAC地址表學(xué)習(xí),將主機A的MAC和報文入端口號記錄下來,然后交換機C查看自己的MAC轉(zhuǎn)發(fā)表,檢查是否有主機B的MAC到端口的映射,如果有映射,獲取對應(yīng)的端口,將報文從此端口轉(zhuǎn)發(fā)出去,報文到達主機B。如果交換機C沒有主機B的MAC轉(zhuǎn)發(fā)表映射,采用洪泛的形式廣播報文,主機B收到報文后向主機A回復(fù),交換機C進行MAC表學(xué)習(xí),將主機B的MAC和報文入端口號記錄下來。

          ARP命令的常用參數(shù)舉例

          1. 查看所有的IP mac對應(yīng)表
             Internet 地址         物理地址              類型
            192.168.16.255        ff-ff-ff-ff-ff-ff     靜態(tài)
            224.0.0.22            01-00-5e-00-00-16     靜態(tài)
          
          1. 刪除arp一條ARP記錄
          arp -d ip
          
          1. 人工設(shè)置ARP記錄
          arp -s 192.168.16.254 00-22-aa-00-22-aa
          

          ARP攻擊

          ARP攻擊主要是通過偽造IP地址和MAC地址進行欺騙

          • 應(yīng)對方式
          1. 在交換機上綁定靜態(tài)ip與mac對應(yīng)關(guān)系
          (config)#arp 192.168.100.2 aaaa.bbbb.ccccfastEthernet 0/1
          

          缺陷:如果是通過DHCP自動獲取的地址,租期到了以后,綁定就會失效,病情重新發(fā)包請求IP地址.也不會分配到IP地址.擴展性很差。

          2.交換機上開啟DAI (Dynamic ARP Inspection) 動態(tài)ARP監(jiān)測,用于基于VLAN的防護機制

          參考:http://c.biancheng.net/view/6391.html

          參考:TCP/IP詳解

          自網(wǎng)絡(luò)

          CC攻擊是DDoS(分布式拒絕服務(wù))的一種,相比其它的DDoS攻擊CC似乎更有技術(shù)含量一些。這種攻擊你見不到虛假IP,見不到特別大的異常流量,但造成服務(wù)器無法進行正常連接,一條ADSL的普通用戶足以掛掉一臺高性能的Web服務(wù)器。

          由此可見其危害性,稱其為“Web殺手”毫不為過。最讓站長們憂慮的是這種攻擊技術(shù)含量不是很高,利用工具和一些IP代理,一個初、中級的電腦水平的用戶就能夠?qū)嵤〥DoS 攻擊。


          CC攻擊的原理

          CC攻擊的原理就是攻擊者控制某些主機不停地發(fā)大量數(shù)據(jù)包給對方服務(wù)器造成服務(wù)器資源耗盡,一直到宕機崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗:當(dāng)一個網(wǎng)頁訪問的人數(shù)特別多的時候,打開網(wǎng)頁就慢了。

          CC就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數(shù)據(jù)操作(就是需要大量CPU時間)的頁面,造成服務(wù)器資源的浪費,CPU長時間處于100%,永遠都有處理不完的連接直至就網(wǎng)絡(luò)擁塞,正常的訪問被中止。


          網(wǎng)站被CC攻擊的癥狀

          1、如果網(wǎng)站是動態(tài)網(wǎng)站,比如asp/asp.net/php等,在被CC攻擊的情況下,IIS站點會出錯提示SERVER IS TOO BUSY,如果不是使用IIS來提供網(wǎng)站服務(wù),會發(fā)現(xiàn)提供網(wǎng)站服務(wù)的程序無緣無故自動崩潰,出錯。如果排除了網(wǎng)站程序的問題,而出現(xiàn)這類型的情況,基本上可以斷定是網(wǎng)站被CC攻擊了。

          2、如果網(wǎng)站是靜態(tài)站點,比如html頁面,在被CC攻擊的情況下,打開任務(wù)管理器,看網(wǎng)絡(luò)流量,會發(fā)現(xiàn)網(wǎng)絡(luò)應(yīng)用里數(shù)據(jù)的發(fā)送出現(xiàn)嚴(yán)重偏高的現(xiàn)象,在大量的CC攻擊下,甚至?xí)_到99%的網(wǎng)絡(luò)占用,當(dāng)然,在被CC攻擊的情況下網(wǎng)站是沒辦法正常訪問的,但是通過3389連接服務(wù)器還是可以正常連接。

          3、如果是被小量CC攻擊,則站點還是可以間歇性訪問得到,但是一些比較大的文件,比如圖片會出現(xiàn)顯示不出來的現(xiàn)象。如果是動態(tài)網(wǎng)站被小量CC攻擊,還會發(fā)現(xiàn)服務(wù)器的CPU占用率出現(xiàn)飆升的現(xiàn)象。這是最基本的CC攻擊癥狀。

          CC攻擊防御策略

          確定Web服務(wù)器正在或者曾經(jīng)遭受CC攻擊,那如何進行有效的防范呢?

          (1).取消域名綁定

          一般cc攻擊都是針對網(wǎng)站的域名進行攻擊,比如我們的網(wǎng)站域名是“www.abc.com”,那么攻擊者就在攻擊工具中設(shè)定攻擊對象為該域名然后實施攻擊。


          對于這樣的攻擊我們的措施是在IIS上取消這個域名的綁定,讓CC攻擊失去目標(biāo)。具體操作步驟是:打開“IIS管理器”定位到具體站點右鍵“屬性”打開該站點的屬性面板,點擊IP地址右側(cè)的“高級”按鈕,選擇該域名項進行編輯,將“主機頭值”刪除或者改為其它的值(域名)。

          經(jīng)過模擬測試,取消域名綁定后Web服務(wù)器的CPU馬上恢復(fù)正常狀態(tài),通過IP進行訪問連接一切正常。但是不足之處也很明顯,取消或者更改域名對于別人的訪問帶來了不變,另外,對于針對IP的CC攻擊它是無效的,就算更換域名攻擊者發(fā)現(xiàn)之后,他也會對新域名實施攻擊。


          (2).域名欺騙解析

          如果發(fā)現(xiàn)針對域名的CC攻擊,我們可以把被攻擊的域名解析到127.0.0.1這個地址上。我們知道127.0.0.1是本地回環(huán)IP是用來進行網(wǎng)絡(luò)測試的,如果把被攻擊的域名解析到這個IP上,就可以實現(xiàn)攻擊者自己攻擊自己的目的,這樣他再多的肉雞或者代理也會宕機,讓其自作自受。

          另外,當(dāng)我們的Web服務(wù)器遭受CC攻擊時把被攻擊的域名解析到國家有權(quán)威的政府網(wǎng)站或者是網(wǎng)警的網(wǎng)站,讓其網(wǎng)警來收拾他們。


          現(xiàn)在一般的Web站點都是利用類似“新網(wǎng)”這樣的服務(wù)商提供的動態(tài)域名解析服務(wù),大家可以登錄進去之后進行設(shè)置。

          (3).更改Web端口

          一般情況下Web服務(wù)器通過80端口對外提供服務(wù),因此攻擊者實施攻擊就以默認(rèn)的80端口進行攻擊,所以,我們可以修改Web端口達到防CC攻擊的目的。運行IIS管理器,定位到相應(yīng)站點,打開站點“屬性”面板,在“網(wǎng)站標(biāo)識”下有個TCP端口默認(rèn)為80,我們修改為其他的端口就可以了。


          (4).IIS屏蔽IP

          我們通過命令或在查看日志發(fā)現(xiàn)了CC攻擊的源IP,就可以在IIS中設(shè)置屏蔽該IP對Web站點的訪問,從而達到防范IIS攻擊的目的。在相應(yīng)站點的“屬性”面板中,點擊“目錄安全性”選項卡,點擊“IP地址和域名現(xiàn)在”下的“編輯”按鈕打開設(shè)置對話框。

          在此窗口中我們可以設(shè)置“授權(quán)訪問”也就是“白名單”,也可以設(shè)置“拒絕訪問”即“黑名單”。比如我們可以將攻擊者的IP添加到“拒絕訪問”列表中,就屏蔽了該IP對于Web的訪問。

          聲明:我們尊重原創(chuàng)者版權(quán),除確實無法確認(rèn)作者外,均會注明作者和來源。轉(zhuǎn)載文章僅供個人學(xué)習(xí)研究,同時向原創(chuàng)作者表示感謝,若涉及版權(quán)問題,請及時聯(lián)系小編刪除!

          精彩在后面



          Hi,我是超級盾

          更多干貨,可移步到,微信公眾號:超級盾訂閱號!精彩與您不見不散!

          超級盾:從現(xiàn)在開始,我的每一句話都是認(rèn)真的。

          如果,你被攻擊了,別打110、119、120,來這里看著就行。

          截至到目前,超級盾成功抵御史上最大2.47T黑客DDoS攻擊,超級盾具有無限防御DDoS、100%防CC的優(yōu)勢。


          主站蜘蛛池模板: 精品国产一区二区三区AV | asmr国产一区在线| 日韩精品无码一区二区中文字幕| 无码欧精品亚洲日韩一区| 国产自产对白一区| 精品无码一区二区三区爱欲九九 | 国产成人无码一区二区三区| 日本一区中文字幕日本一二三区视频| 国产成人精品一区二三区在线观看| 在线精品亚洲一区二区| 成人区精品一区二区不卡亚洲 | 日韩精品国产一区| 一区二区日韩国产精品| 国产精品乱码一区二区三区| 亚州国产AV一区二区三区伊在| 国产在线精品一区在线观看| 亚洲一区二区三区免费视频 | 99精品国产高清一区二区麻豆 | 国产成人精品一区二三区熟女| 99精品国产高清一区二区| 国内自拍视频一区二区三区 | 中文字幕av人妻少妇一区二区| 日本高清一区二区三区| 日本精品少妇一区二区三区| 日亚毛片免费乱码不卡一区| 日本亚洲成高清一区二区三区| 亚洲AV综合色区无码一区爱AV| 国产凹凸在线一区二区| 国产香蕉一区二区精品视频| 国产人妖视频一区在线观看| 在线观看亚洲一区二区| 久久精品国产免费一区| 亚洲一区二区三区91| 精品国产亚洲一区二区三区在线观看 | 国产精品一区二区不卡| 无码中文字幕人妻在线一区二区三区| 福利片免费一区二区三区| 麻豆国产在线不卡一区二区| 国产高清精品一区| 国产综合一区二区在线观看 | 无码人妻一区二区三区免费|