
- 安全測試教程
- 安全測試 - 首頁
- 安全測試 - 概述
- 安全測試 - 流程
- 安全測試 - 惡意軟體
- HTTP協議基礎
- HTTPS協議基礎
- 編碼和解碼
- 安全測試 - 密碼學
- 安全測試 - 同源策略
- 安全測試 - Cookie
- 駭客攻擊Web應用程式
- 安全測試 - 注入
- 測試身份驗證漏洞
- 測試跨站指令碼攻擊
- 不安全的直接物件引用
- 測試安全配置錯誤
- 測試敏感資料洩露
- 缺少函式級訪問控制
- 跨站請求偽造
- 存在漏洞的元件
- 未驗證的重定向和轉發
- 安全測試 - Ajax安全
- 安全測試 - Web服務
- 安全測試 - 緩衝區溢位
- 安全測試 - 拒絕服務
- 測試惡意檔案執行
- 安全測試 - 自動化工具
- 安全測試有用資源
- 安全測試 - 快速指南
- 安全測試 - 有用資源
- 安全測試 - 討論
安全測試 - 緩衝區溢位
當程式試圖將超過其設計容量的資料儲存到臨時資料儲存區(緩衝區)中時,就會發生緩衝區溢位。由於緩衝區被建立為容納有限數量的資料,因此額外資訊可能會溢位到相鄰的緩衝區,從而破壞其中儲存的有效資料。
示例
這是一個經典的緩衝區溢位示例。它演示了一個簡單的緩衝區溢位,該溢位是由第一種情況引起的,該情況依賴於外部資料來控制其行為。無法限制使用者輸入的資料量,程式的行為取決於使用者輸入的字元數量。
... char bufr[BUFSIZE]; gets(bufr); ...
動手操作
步驟1 - 我們需要使用使用者名稱和房間號登入才能訪問網際網路。以下是場景快照。

步驟2 - 我們還將在Burp Suite中啟用“顯示隱藏表單欄位”,如下所示:

步驟3 - 現在我們在使用者名稱和房間號欄位中輸入。我們還嘗試在房間號欄位中注入一個很大的數字。

步驟4 - 隱藏欄位顯示如下。我們點選接受條款。

步驟5 - 攻擊成功,由於緩衝區溢位,它開始讀取相鄰的記憶體位置並顯示給使用者,如下所示:

步驟6 - 現在讓我們使用顯示的資料登入。登入後,顯示以下訊息:

預防機制
- 程式碼審查
- 開發者培訓
- 編譯器工具
- 開發安全函式
- 定期掃描
廣告