日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

web 应用常见安全漏洞一览

發布時間:2024/9/19 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web 应用常见安全漏洞一览 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. SQL 注入

SQL 注入就是通過給 web 應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的 SQL 命令。

SQL 注入漏洞屬于后端的范疇,但前端也可做體驗上的優化。

原因

當使用外部不可信任的數據作為參數進行數據庫的增、刪、改、查時,如果未對外部數據進行過濾,就會產生 SQL 注入漏洞。

比如:

name = "外部輸入名稱";sql = "select * from users where name=" + name;

上面的 SQL 語句目的是通過用戶輸入的用戶名查找用戶信息,因為由于 SQL 語句是直接拼接的,也沒有進行過濾,所以,當用戶輸入?'' or '1'='1'?時,這個語句的功能就是搜索?users?全表的記錄。

select?*?from?users?where?name=''?or?'1'='1';

解決方案

具體的解決方案很多,但大部分都是基于一點:不信任任何外部輸入。

所以,對任何外部輸入都進行過濾,然后再進行數據庫的增、刪、改、查。

此外,適當的權限控制、不曝露必要的安全信息和日志也有助于預防 SQL 注入漏洞。

2. XSS 攻擊

XSS 攻擊全稱跨站腳本攻擊(Cross-Site Scripting),簡單的說就是攻擊者通過在目標網站上注入惡意腳本并運行,獲取用戶的敏感信息如 Cookie、SessionID 等,影響網站與用戶數據安全。

XSS 攻擊更偏向前端的范疇,但后端在保存數據的時候也需要對數據進行安全過濾。

原因

當攻擊者通過某種方式向瀏覽器頁面注入了惡意代碼,并且瀏覽器執行了這些代碼。

比如:

在一個文章應用中(如微信文章),攻擊者在文章編輯后臺通過注入?script?標簽及?js?代碼,后端未加過濾就保存到數據庫,前端渲染文章詳情的時候也未加過濾,這就會讓這段?js?代碼執行,引起 XSS 攻擊。

解決方案

一個基本的思路是渲染前端頁面(不管是客戶端渲染還是服務器端渲染)或者動態插入 HTML 片段時,任何數據都不可信任,都要先做 HTML 過濾,然后再渲染。

?

3. CSRF 攻擊

CSRF 攻擊全稱跨站請求偽造(Cross-site Request Forgery),簡單的說就是攻擊者盜用了你的身份,以你的名義發送惡意請求。

原因

一個典型的 CSRF 攻擊有著如下的流程:

  • 受害者登錄?a.com,并保留了登錄憑證(Cookie)
  • 攻擊者引誘受害者訪問了?b.com
  • b.com?向?a.com?發送了一個請求:a.com/act=xx(瀏覽器會默認攜帶?a.com?的 Cookie)
  • a.com?接收到請求后,對請求進行驗證,并確認是受害者的憑證,誤以為是受害者自己發送的請求
  • a.com?以受害者的名義執行了?act=xx
  • 攻擊完成,攻擊者在受害者不知情的情況下,冒充受害者,讓?a.com?執行了自己定義的操作

解決方案

防止 CSRF 攻擊需要在服務器端入手,基本的思路是能正確識別是否是用戶發起的請求。

?

4. DDoS 攻擊

DoS 攻擊全稱拒絕服務(Denial of Service),簡單的說就是讓一個公開網站無法訪問,而 DDoS 攻擊(分布式拒絕服務 Distributed Denial of Service)是 DoS 的升級版。

這個就完全屬于后端的范疇了。

原因

攻擊者不斷地提出服務請求,讓合法用戶的請求無法及時處理,這就是 DoS 攻擊。

攻擊者使用多臺計算機或者計算機集群進行 DoS 攻擊,就是 DDoS 攻擊。

解決方案

防止 DDoS 攻擊的基本思路是限流,限制單個用戶的流量(包括 IP 等)。

?

5. XXE 漏洞

XXE 漏洞全稱 XML 外部實體漏洞(XML External Entity),當應用程序解析 XML 輸入時,如果沒有禁止外部實體的加載,導致可加載惡意外部文件和代碼,就會造成任意文件讀取、命令執行、內網端口掃描、攻擊內網網站等攻擊。

這個只在能夠接收 XML 格式參數的接口才會出現。

解決方案

  • 禁用外部實體
  • 過濾用戶提交的XML數據
  • 6. JSON 劫持

    JSON 劫持(JSON Hijacking)是用于獲取敏感數據的一種攻擊方式,屬于 CSRF 攻擊的范疇。

    原因

    一些 Web 應用會把一些敏感數據以 json 的形式返回到前端,如果僅僅通過 Cookie 來判斷請求是否合法,那么就可以利用類似 CSRF 的手段,向目標服務器發送請求,以獲得敏感數據。

    比如下面的鏈接在已登錄的情況下會返回 json 格式的用戶信息:

    http://www.test.com/userinfo

    攻擊者可以在自己的虛假頁面中,加入如下標簽:

    <script?src="http://www.test.com/userinfo"></script>

    如果當前瀏覽器已經登錄了?www.test.com,并且 Cookie 未過期,然后訪問了攻擊者的虛假頁面,那么該頁面就可以拿到 json 形式的用戶敏感信息,因為?script?標簽會自動解析 json 數據,生成對應的 js 對象。然后再通過:

    Object.prototype.__defineSetter__

    這個函數來觸發自己的惡意代碼。

    但是這個函數在當前的新版本 Chrome 和 Firefox 中都已經失效了。

    解決方案

  • X-Requested-With?標識
  • 瀏覽器 JSON 數據識別
  • 禁止 Javascript 執行 JSON 數據
  • 7. 暴力破解

    這個一般針對密碼而言,弱密碼(Weak Password)很容易被別人(對你很了解的人等)猜到或被破解工具暴力破解。

    解決方案

  • 密碼復雜度要足夠大,也要足夠隱蔽
  • 限制嘗試次數
  • 8. HTTP 報頭追蹤漏洞

    HTTP/1.1(RFC2616)規范定義了 HTTP TRACE 方法,主要是用于客戶端通過向 Web 服務器提交 TRACE 請求來進行測試或獲得診斷信息。

    當 Web 服務器啟用 TRACE 時,提交的請求頭會在服務器響應的內容(Body)中完整的返回,其中 HTTP 頭很可能包括 Session Token、Cookies 或其它認證信息。攻擊者可以利用此漏洞來欺騙合法用戶并得到他們的私人信息。

    解決方案

    禁用 HTTP TRACE 方法。

    9. 信息泄露

    由于 Web 服務器或應用程序沒有正確處理一些特殊請求,泄露 Web 服務器的一些敏感信息,如用戶名、密碼、源代碼、服務器信息、配置信息等。

    所以一般需注意:

    • 應用程序報錯時,不對外產生調試信息
    • 過濾用戶提交的數據與特殊字符
    • 保證源代碼、服務器配置的安全

    10. 目錄遍歷漏洞

    攻擊者向 Web 服務器發送請求,通過在 URL 中或在有特殊意義的目錄中附加?../、或者附加?../?的一些變形(如?..\?或?..//?甚至其編碼),導致攻擊者能夠訪問未授權的目錄,以及在 Web 服務器的根目錄以外執行命令。

    11. 命令執行漏洞

    命令執行漏洞是通過 URL 發起請求,在 Web 服務器端執行未授權的命令,獲取系統信息、篡改系統配置、控制整個系統、使系統癱瘓等。

    12. 文件上傳漏洞

    如果對文件上傳路徑變量過濾不嚴,并且對用戶上傳的文件后綴以及文件類型限制不嚴,攻擊者可通過 Web 訪問的目錄上傳任意文件,包括網站后門文件(webshell),進而遠程控制網站服務器。

    所以一般需注意:

    • 在開發網站及應用程序過程中,需嚴格限制和校驗上傳的文件,禁止上傳惡意代碼的文件
    • 限制相關目錄的執行權限,防范?webshell?攻擊

    13. 其他漏洞

  • SSLStrip 攻擊
  • OpenSSL Heartbleed 安全漏洞
  • CCS 注入漏洞
  • 證書有效性驗證漏洞
  • 14. 業務漏洞

    一般業務漏洞是跟具體的應用程序相關,比如參數篡改(連續編號 ID / 訂單、1 元支付)、重放攻擊(偽裝支付)、權限控制(越權操作)等。

    ?

    15. 框架或應用漏洞

    • WordPress 4.7 / 4.7.1:REST API 內容注入漏洞
    • Drupal Module RESTWS 7.x:Remote PHP Code Execution
    • SugarCRM 6.5.23:REST PHP Object Injection Exploit
    • Apache Struts:REST Plugin With Dynamic Method Invocation Remote Code Execution
    • Oracle GlassFish Server:REST CSRF
    • QQ Browser 9.6:API 權限控制問題導致泄露隱私模式
    • Hacking Docker:Registry API 未授權訪問

    總結

    以上是生活随笔為你收集整理的web 应用常见安全漏洞一览的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。