什麼是 SQL 注入?

最大的一類 Web 漏洞被稱為“SQL 注入”或 SQLi。結構化查詢語言,又名 SQL,是用於與大多數數據庫交互的語言,儘管根據數據庫平台使用該語言的許多變體。任何存儲用戶數據(例如帳戶信息)或提供用戶上傳功能的網站(例如圖像託管網站)都將使用數據庫來存儲該數據。

提示:SQL 通常發音為“ess cue ell”或“sequel”,第一個選項在英式英語中更常見,第二個選項在美式英語中更流行。在談論數據庫的上下文中通常可以理解這兩種發音。

什麼是 SQLi?

SQLi 是一個漏洞,其中設計 Web 服務器和數據庫之間通信的代碼的 Web 開發人員沒有實施針對用戶提交的 SQL 命令的保護。問題是有可能能夠擺脫數據庫語句並添加新參數或全新語句。更改後的或第二個數據庫語句可以執行一系列操作,包括潛在的大規模刪除或數據洩漏。

漏洞利用通常圍繞使現有語句在所有情況下都為真或提供第二個批處理命令來執行特定操作,例如刪除或顯示所有數據。例如,登錄網站的 SQL 語句可能會檢查提交的用戶名和密碼是否與數據庫中的條目匹配。要嘗試訪問 SQL 注入漏洞,可以嘗試添加“or true”子句,例如“or 1=1”。這將使命令類似於“使用 [this] 用戶名登錄,如果密碼是 [this],或者此語句為真”。

如何防止 SQLi

SQLi 曾經是網站破壞其數據庫然後在線洩露的一種非常常見的方式。由於共同努力確保安全意識成為開發人員培訓的一部分,此類漏洞已在很大程度上得到解決,並且很少再出現。

防止 SQLi 的正確方法是使用準備好的語句,也稱為參數化查詢。傳統上,SQL 語句是聲明的,並且在聲明期間將用戶輸入連接到它們中。使用準備好的語句,數據庫命令被寫出,然後一個單獨的函數運行該命令並插入用戶數據。雖然這似乎是一個很小的區別,但它完全改變了命令的處理方式。這種差異阻止了任何有意義的 SQL 命令被運行,並將所有用戶輸入視為一個字符串,從而阻止了 SQL 注入的發生。



Leave a Comment

修复:在Windows 11中解除固定的应用程序不断重新出现

修复:在Windows 11中解除固定的应用程序不断重新出现

如果解除固定的应用程序和程序在任务栏上不断出现,可以编辑布局XML文件并删除自定义行。

如何从Firefox自动填充中删除保存的信息

如何从Firefox自动填充中删除保存的信息

通过遵循这些针对Windows和Android设备的快速简便步骤,从Firefox自动填充中删除保存的信息。

如何软重启和硬重启 iPod Shuffle

如何软重启和硬重启 iPod Shuffle

在本教程中,我们向您展示了如何在 Apple iPod Shuffle 上执行软重置或硬重置。

如何管理您在 Android 上的 Google Play 订阅

如何管理您在 Android 上的 Google Play 订阅

Google Play 上有很多优秀的应用,您无法抗拒地订阅它们。随着时间的推移,这个列表会增长,您需要管理您的 Google Play 订阅。

如何在Galaxy Z Fold 5上使用Samsung Pay

如何在Galaxy Z Fold 5上使用Samsung Pay

在口袋或钱包中翻找正确的支付卡是一件非常麻烦的事情。在过去的几年中,各家公司正在开发和推出无接触支付解决方案。

如何删除 Android 下载历史记录

如何删除 Android 下载历史记录

删除 Android 下载历史记录可以帮助释放存储空间等。这是您需要遵循的步骤。

如何从 Facebook 删除照片和视频

如何从 Facebook 删除照片和视频

本指南将向您展示如何使用 PC、Android 或 iOS 设备从 Facebook 删除照片和视频。

如何重置Galaxy Tab S9

如何重置Galaxy Tab S9

我们花了一点时间与Galaxy Tab S9 Ultra一起使用,它是与Windows PC或Galaxy S23配对的完美平板电脑。同时,尽管这些平板电脑具有如此多的功能,但Android和Samsung One UI并不完美。无论您是否安装了更新导致Tab S9出现问题,还是有一些混乱的应用影响了电池寿命,我们将带您逐步完成重置Galaxy Tab S9的过程。

如何在Android 11中静音群组文本消息

如何在Android 11中静音群组文本消息

在Android 11中静音群组文本消息,以便控制消息应用程序、WhatsApp和Telegram的通知。

Firefox:清除地址栏URL历史记录

Firefox:清除地址栏URL历史记录

通过以下简单快速的步骤,在Firefox上清除地址栏URL历史记录并保持会话私密。