web安全與防禦

来源:https://www.cnblogs.com/yinxingen/archive/2018/01/19/8319128.html
-Advertisement-
Play Games

xss攻擊(跨站腳本) 是網站應用程式的安全泄露攻擊,是代碼註入的一種。它允許惡意用戶將代碼註入到網頁上,其他用戶在觀看網頁時就會受到影響。 攻擊原理 其特點是不對伺服器端造成任何傷害,而是通過一些正常的站內交互途徑,例如發佈評論,提交含有 JavaScript 的內容文本。這時伺服器端如果沒有過濾 ...


xss攻擊(跨站腳本)

是網站應用程式的安全泄露攻擊,是代碼註入的一種。它允許惡意用戶將代碼註入到網頁上,其他用戶在觀看網頁時就會受到影響。

攻擊原理

其特點是不對伺服器端造成任何傷害,而是通過一些正常的站內交互途徑,例如發佈評論,提交含有 JavaScript 的內容文本。這時伺服器端如果沒有過濾或轉義掉這些腳本,作為內容發佈到了頁面上,其他用戶訪問這個頁面的時候就會運行這些腳本。

防禦方法
  1. 瀏覽器端主動進行 XSS 識別

  2. 伺服器端對於用戶輸入的內容進行過濾

CSRF攻擊

CSRF 的全稱是“跨站請求偽造”,而 XSS 的全稱是“跨站腳本”。看起來有點相似,它們都是屬於跨站攻擊——不攻擊伺服器端而攻擊正常訪問網站的用戶。

攻擊原理

CSRF 顧名思義,是偽造請求,冒充用戶在站內的正常操作。我們知道,絕大多數網站是通過 cookie 等方式辨識用戶身份(包括使用伺服器端 Session 的網站,因為 Session ID 也是大多保存在 cookie 裡面的),再予以授權的。所以要偽造用戶的正常操作,最好的方法是通過 XSS 或鏈接欺騙等途徑,讓用戶在本機(即擁有身份 cookie 的瀏覽器端)發起用戶所不知道的請求。

一言蔽之就是冒充用戶進行一些操作。

防禦方法

1、通過 referer、token 或者驗證碼來檢測用戶提交。

2、儘量不要在頁面的鏈接中暴露用戶隱私信息。

3、對於用戶修改刪除等操作最好都使用 post 操作。

4、避免全站通用的 cookie,嚴格設置 cookie 的域。

SQl 攻擊

簡稱:註入攻擊。是發生於應用程式之資料庫層的安全泄露。

攻擊原理:

用戶直接輸入 sql 語句,如果應用用的是拼接字元串的方式且沒有過濾掉的話,當流程走到資料庫部分的時候就會直接執行,等於說資料庫的信息直接暴露在用戶面前,那還不是想幹嘛就幹嘛。。。

防禦方法

1.、驗證並轉義用戶輸入

2、base64編碼

3、綁定變數,使用預編語言

4、控制用戶的許可權,以及做好資料庫本身的安全工作

文件上傳漏洞

是指網路攻擊者上傳了一個可執行的文件到伺服器並執行。這裡上傳的文件可以是木馬,病毒,惡意腳本或者WebShell (諸如 jsp, php, asp 這些腳本)等

攻擊原理

有點像 sql 諸如和 xss 就是變成上傳文件了。

防禦方法

過濾上傳類型:比如上傳頭像文件的類型是否為圖片,大小是不是超過了。

引入第三方:將文件上傳到第三方提供地址,伺服器只保留一個地址即可。

ddos攻擊

DDoS 全稱 Distributed Denial of Service,分散式拒絕服務攻擊。

攻擊原理

就是本來一個伺服器最大承受一個G的帶寬,這時候一次性來了十個G的請求流量,咋整?伺服器要麼是陷入無盡的請求等待,要麼就直接GG了。

防禦方法

1、拼寬頻

2、流量清洗或者封 IP

3、CDN 服務

4、花錢買相應的防禦服務


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • --以2013-12-10 12:56:55為例--convert(nvarchar(10),CreateDate,120) => 2013-12-10--DATEPART(month,CreateDate) => 12--DATEPART(year,CreateDate) => 2013 --還可 ...
  • 主鍵: @tableName --表名 @id 表對應的id SELECT SYSCOLUMNS.name FROM SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSINDEXKEYS WHERE SYSCOLUMNS.id = object_id(@tableName) A ...
  • 學習目標 資料庫管理員(DBA)任務和工具 Oracle軟體安裝 Oracle Grid Infrastructure安裝 Oracle DB安裝 Oracle DB管理員的任務 設計、實施和維護Oracle資料庫任務: 1.評估資料庫伺服器硬體 2.制定Oracle軟體安裝計劃 3.制定資料庫和安 ...
  • 一:需求簡介 之前boss提出一個需求,運行在廣告機上的app,需要完成自動升級的功能,廣告機是非觸摸屏的,不能通過手動點擊,所以app必須做到自動下載,自動安裝升級,並且安裝完成後,app還要繼續運行,最好不藉助其它app來實現以上功能。 二:實現思路 實現這個功能第一個想到的方法就是靜默安裝,由 ...
  • 原文鏈接:一句代碼載入網路圖片到ImageView——Android Picasso 在這裡介紹一個Android框架:Picasso。 picasso是Square公司開源的一個Android圖形緩存庫,地址http://square.github.io/picasso/,可以實現圖片下載和緩存功 ...
  • 這是一個點擊之後反應超時的ANR 初步判斷是系統和服務占用資源太多,引起原生設置的ANR在原生設置“語言和輸入法”界面點擊返回鍵是在10:24:52.563,原生設置是在10:24:52.723結束,公司設置是在10:24:57.238才收到onConfigurationChanged回調,快5秒了 ...
  • 。。。求期末不掛。。。 今天完成了第四題,邏輯稍微有點糾纏,但還好問題不是很多 邏輯其實挺複雜的,也可能我基礎太差,還有就是沒來得及寫註釋,很傷。。。 這裡糾結了蠻久的,一直搞不懂這個remove的用法是什麼,好像我裡面沒寫DOM節點的數值也可以刪除。。。 其實想那個刪除對應數值的節點的時候也卡了很 ...
  • 1, 轉義字元 轉義字元:用於表示網頁中的特殊字元 XHTML不直接輸入符號,建議使用轉義字元。 &nbsp 空格; &copy 版權; &reg 註冊商標 如果輸入連續的空格要使用&的轉義字元&(&amp;)nbsp,即&amp;nbsp; 2, 水平線 <Hr> 水平線 <hr width="5 ...
一周排行
    -Advertisement-
    Play Games
  • 基於.NET Framework 4.8 開發的深度學習模型部署測試平臺,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等應用場景,同時支持圖像與視頻檢測。模型部署引擎使用的是OpenVINO™、TensorRT、ONNX runti... ...
  • 十年沉澱,重啟開發之路 十年前,我沉浸在開發的海洋中,每日與代碼為伍,與演算法共舞。那時的我,滿懷激情,對技術的追求近乎狂熱。然而,隨著歲月的流逝,生活的忙碌逐漸占據了我的大部分時間,讓我無暇顧及技術的沉澱與積累。 十年間,我經歷了職業生涯的起伏和變遷。從初出茅廬的菜鳥到逐漸嶄露頭角的開發者,我見證了 ...
  • C# 是一種簡單、現代、面向對象和類型安全的編程語言。.NET 是由 Microsoft 創建的開發平臺,平臺包含了語言規範、工具、運行,支持開發各種應用,如Web、移動、桌面等。.NET框架有多個實現,如.NET Framework、.NET Core(及後續的.NET 5+版本),以及社區版本M... ...
  • 前言 本文介紹瞭如何使用三菱提供的MX Component插件實現對三菱PLC軟元件數據的讀寫,記錄了使用電腦模擬,模擬PLC,直至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1. PLC開發編程環境GX Works2,GX Works2下載鏈接 https:// ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • 1、jQuery介紹 jQuery是什麼 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝 ...
  • 前言 之前的文章把js引擎(aardio封裝庫) 微軟開源的js引擎(ChakraCore))寫好了,這篇文章整點js代碼來測一下bug。測試網站:https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻譯js逆向(MD5加密,AES加密)附完整源碼 ...
  • 引言 現代的操作系統(Windows,Linux,Mac OS)等都可以同時打開多個軟體(任務),這些軟體在我們的感知上是同時運行的,例如我們可以一邊瀏覽網頁,一邊聽音樂。而CPU執行代碼同一時間只能執行一條,但即使我們的電腦是單核CPU也可以同時運行多個任務,如下圖所示,這是因為我們的 CPU 的 ...
  • 掌握使用Python進行文本英文統計的基本方法,並瞭解如何進一步優化和擴展這些方法,以應對更複雜的文本分析任務。 ...
  • 背景 Redis多數據源常見的場景: 分區數據處理:當數據量增長時,單個Redis實例可能無法處理所有的數據。通過使用多個Redis數據源,可以將數據分區存儲在不同的實例中,使得數據處理更加高效。 多租戶應用程式:對於多租戶應用程式,每個租戶可以擁有自己的Redis數據源,以確保數據隔離和安全性。 ...