<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 一、列舉集中常見的網站攻擊方式 ## 1.跨站腳本攻擊:xss(Cross Site Script),攻擊者將惡意代碼植入到提供給其它用戶使用的頁面。 &nbsp; 存儲型xss:將惡意代碼作為信息的一部分通過表單一起提交保存到數據庫持久保存,則后續每個瀏覽該信息頁面的用戶都會被惡意代碼攻擊。典型的如論壇博客,留言板等。比如在信息內容里插一段 ``` 一些文本。。。<script>alert(document.cookie)</script>。。。文本 ``` 反射型xss:通過正常網站的url參數處理不合理(將參數直接作為文檔輸出到頁面比如在頁面原樣html輸出參數,像jquery的html方法以及類似的直接渲染文本到界面。當參數是惡意代碼時也會直接執行)構造參數為惡意代碼的url,并誘使用戶點擊,達到攻擊用戶的目的。這種攻擊想達到攻擊大面積用戶的效果需要依賴第一種,構造惡意url并存儲在網站,使所有用戶可能被誘使點擊。 參見:[http://netsecurity.51cto.com/art/201311/417201.htm](http://netsecurity.51cto.com/art/201311/417201.htm) &nbsp; 解決方案: 前后端對于用戶的輸入均做特殊字符處理,比如腳本標簽&lt;script&gt;; ``` //php防止xss攻擊簡易函數 來源 http://www.myexception.cn/php/2216573.html function xss_clean ($var) { $ra=array('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/','/script/i','/javascript/i','/vbscript/i','/onload/i','/onunload/i','/onchange/i','/onsubmit/i','/onreset/i','/onselect/i','/onblur/i','/onfocus/i','/onabort/i','/onkeydown/i','/onkeypress/i','/onkeyup/i','/onclick/i','/ondblclick/i','/onmousedown/i','/onmousemove/i','/onmouseout/i','/onmouseover/i','/onmouseup/i','/onunload/i'); $var = preg_replace($ra,'',$var); return htmlspecialchars($var,ENT_QUOTES); } ``` 交互請求進來POST而不是GET; 設置 HTTP Header: "X-XSS-Protection: 1"; &nbsp; ## 2.SQL注入:(SQL Injection)就是通過客戶端的輸入把 SQL 命令注入到一個應用的數據庫中,從而得以執行惡意 SQL 語句。 先看個例子。 ``` uname = request.POST['username'] password = request.POST['password'] sql = "SELECT all FROM users WHERE username='" + uname + "' AND password='" + password + "'" database.execute(sql) ``` 上面這段程序直接將客戶端傳過來的數據寫入到數據庫。試想一下,如果用戶傳入的 password 值是: "password’ OR 1=1",那么 sql 語句便會變成: ``` sql = "SELECT all FROM users WHERE username='username' AND password='password' OR 1=1" ``` 那么,這句 sql 無論 username 和 password 是什么都會執行,從而將所有用戶的信息取出來。 &nbsp; 解決方案: SQL語句預定義,參數綁定,參數傳遞。避免直接拼接sql形成特殊的語意; &nbsp; ## 3.分布式拒絕服務:DDOS(Distributed Denial of Service),通過大量惡意流量占用帶寬和計算資源以達到癱瘓對方網絡的目的。 舉個簡單的例子,老鄭家面館生意紅火,突然有一天一群小混混進了點,霸占了座位,只閑聊不點菜,結果坐在店里的人不吃面,想吃面的人進不來,導致老鄭無法向正常客戶服務。 而 DDoS 攻擊就是將多個計算機聯合起來一同向目標發起攻擊,從而成倍地提高拒絕服務攻擊的威力。 除了使用程序模擬大量用戶訪問被攻擊網站,也可以借用上面XSS漏洞,在有漏洞的大流量的網站頁面使用自動重定向到目標網站也可以達到攻擊的目的。 &nbsp; 解決方案: 目前沒有完全杜絕的方法,理論上是電腦攻擊,達到的效果是拒絕用戶服務;那么識別電腦攻擊并快速拒絕服務并將攻擊IP拉入黑名單以達到減少服務資源占用。另外DDOS攻擊也需要大量的成本,流量以及IP資源。 &nbsp; ## 4.跨站請求偽造:CSRF(Cross Site Request Forgery),利用網站B在網站A對用戶信任的情況下(登錄)模擬成用戶行為向網站A進行惡意請求。 常見的,惡意請求都是get請求,有利于攻擊者將攻擊目的直接在參數上體現。 舉個例子。網站 A 是一家銀行的網站,一個轉賬接口是 "http://www.bankA.com/transfer?toID=12345678&cash=1000"。toID 表示轉賬的目標賬戶,cash 表示轉賬數目。當然這個接口沒法隨便調用,只有在已經驗證的情況下才能夠被調用。 此時,攻擊者建立了一個 B 網站,里面放了一段隱藏的代碼,用來調用轉賬的接口。當受害者先成功登錄了 A 網站,短時間內不需要再次驗證,這個時候又訪問了網站 B(任何其他網站都可以,只要訪問頁面包含惡意鏈接并誘使用戶點擊了),B 里面隱藏的惡意代碼就能夠成功執行。 此時將制定URL參數收款人的ID為攻擊者,轉賬金額為任意攻擊者制定;這時網站A程序會以為用戶想要向攻擊者轉賬,造成損失。該漏洞結合跨站腳本攻擊(XSS)會威力無窮; 試想下,攻擊者在漏洞網站B(任意有XSS漏洞的頁面,部署惡意的自動跳轉),那么任何訪問的用戶都會執行惡意請求,如果剛好又登錄了A網站,那么惡意請求就會生效。 &nbsp; 解決方案:(核心原理都是杜絕偽造,保證請求來源可信任) 對敏感接口進行同源比較,即檢查標準頭部,確認請求是否同源: 檢查 source origin 和 target origin,然后比較兩個值是否匹配。這樣可以保證敏感接口的請求來源是可信任的; HTTP頭中有一個Referer字段,這個字段用以標明請求來源于哪個地址。在處理敏感數據請求時,通常來說,Referer字段應和請求的地址位于同一域名下; 對數據提交頁面隨機生成token,并在提交時驗證,保證數據可信任; &nbsp; # 二、如何保證接口請求安全
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看