Web安全相關(五):SQL註入(SQL Injection)

来源:https://www.cnblogs.com/supersnowyao/archive/2018/01/13/8279888.html

簡介 SQL註入攻擊指的是通過構建特殊的輸入作為參數傳入Web應用程式,而這些輸入大都是SQL語法里的一些組合,通過執行SQL語句進而執行攻擊者所要的操作,其主要原因是程式沒有細緻地過濾用戶輸入的數據,致使非法數據侵入系統。 根據相關技術原理,SQL註入可以分為平臺層註入和代碼層註入。前者由不安全的 ...

簡介

  SQL註入攻擊指的是通過構建特殊的輸入作為參數傳入Web應用程式,而這些輸入大都是SQL語法里的一些組合,通過執行SQL語句進而執行攻擊者所要的操作,其主要原因是程式沒有細緻地過濾用戶輸入的數據,致使非法數據侵入系統。

  根據相關技術原理,SQL註入可以分為平臺層註入和代碼層註入。前者由不安全的資料庫配置或資料庫平臺的漏洞所致;後者主要是由於程式員對輸入未進行細緻地過濾,從而執行了非法的數據查詢。基於此,SQL註入的產生原因通常表現在以下幾方面:

  1. 不當的類型處理;

  2. 不安全的資料庫配置;

  3. 不合理的查詢集處理;

  4. 不當的錯誤處理;

  5. 轉義字元處理不合適;

  6. 多個提交處理不當。

 

防止SQL註入

  1. 永遠不要信任用戶的輸入。對用戶的輸入進行校驗,可以通過正則表達式,或限制長度;對單引號和雙"-"進行轉換等。

  2. 永遠不要使用動態拼裝sql,可以使用參數化的sql或者直接使用存儲過程進行數據查詢存取。(不要拼sql,使用參數化)

  3. 永遠不要使用管理員許可權的資料庫連接,為每個應用使用單獨的許可權有限的資料庫連接。(給程式分配合理的資料庫操作許可權)

  4. 不要把機密信息直接存放,加密或者hash掉密碼和敏感的信息。(敏感信息加密)

  5. 應用的異常信息應該給出儘可能少的提示,最好使用自定義的錯誤信息對原始錯誤信息進行包裝。

 

文章轉載自:http://www.cnblogs.com/Erik_Xu/p/5514879.html


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

更多相關文章
  • 一般一個項目開始之前都會有啟動會,需求交底等等,其中會有一個環節,大講特講項目的意義,然後取一個高大上的項目名字,咱這是一個小功能談不上項目,但是名字不能太小氣了。好吧,就叫Trump吧。沒有任何含義,玩嘛! 項目分層結構也要在這裡說一下,這次這個小功能仿照DDD的分層模式,一定記住我說的是仿照。因... ...
  • 簡介 過多發佈的內容相對比較簡單,因此,我只打算把原文中的一些關鍵信息翻譯一下。原文鏈接如下: http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-basic-c ...
  • 簡介 那些通過請求(如查詢字元串和表單數據)指定重定向URL的Web程式可能會被篡改,而把用戶重定向到外部的惡意URL。這種篡改就被稱為開發重定向攻擊。 場景分析 假設有一個正規網站http://nerddinner.com/,還有一個惡意網站或釣魚網站http://nerddiner.com/(註 ...
  • 簡介 CSRF(Cross-site request forgery跨站請求偽造,也被稱為“One Click Attack”或者Session Riding,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用。儘管聽起來像跨站腳本(XSS),但它與XSS非常不同,並且攻擊方式幾乎相左。XSS利 ...
  • 在多線程環境下,使用BlockingCollection以及ConcurrentQueue來消費生產者生產的資源,這是我自己寫的多生產者多消費者的作法,其實也是基於單個task下的阻塞隊列的IsComplete來識別的。 使用阻塞隊列更簡單但是內部的消費者線程比較適合使用單獨的線程不適合使用線程池, ...
一周排行
  • 如題 報錯提示: 使用 JSON JavaScriptSerializer 進行序列化或反序列化時出錯。字元串的長度超過了為 maxJsonLength 屬性設置的值。","StackTrace 解決方案 在web.config 中configuration節點 插入 ...
  • 前言 這是一個國內TOP1000000000000學校畢業生的個人感想啊~~~ 最近真的很熱啊,自己在公司附近租的房子也沒有空調,淚奔。。。大學畢業也有半個月的時間了,墨跡了很長時間,才用github page把博客搭個差不多。歡迎大家去我的博客去看看啊~~~ 點擊這裡,去看看我的博客啊~~~ 從大 ...
  • EF Core中Fluent Api如何刪除指定數據表中的行 ...
  • 概述 Windows Community Toolkit 3.0 於 2018 年 6 月 2 日 Release,同時正式更名為 Windows Community Toolkit,原名為 UWP Community Toolkit。顧名思義,3.0 版本會更註重整個 Windows 平臺的工具實 ...
  • 1、前言 分散式已經成為了當前最熱門的話題,分散式框架也百花齊放,群雄逐鹿。從中心化服務治理框架,到去中心化分散式服務框架,再到分散式微服務引擎,這都是通過技術不斷積累改進而形成的結果。esb,網關,nginx網關 這些中心化服務治理框架現在都是各個公司比較主流的架構,而最近幾年大家炒的比較火的去中 ...
  • 推薦加【QQ49300063】專業盜取微信密碼,破解微信密碼,查詢微信聊天記錄,不成功不收費!!!! 隨著信息時代的來臨,很多人使用上了微信,微信的出現使得人們的生活變的十便利。人們不僅在工作中使用它,在社交中也讓其發揮了重要的作用。微信現在已經漸漸成為了人們生活中不能缺少的一部分。使用微信除了其方 ...
  • 寫在前面 本文地址:http://www.cnblogs.com/yilezhu/p/9315644.html 作者:yilezhu 上一篇關於Asp.Net Core Web Api圖片上傳的文章使用的是mongoDB進行圖片的存儲,文章發佈後,張隊就來了一句,說沒有使用GridFS。的確博主只是 ...
  • 2.矩陣專欄¶ 吐槽一下:矩陣本身不難,但是矩陣的寫作太蛋疼了 (⊙﹏⊙)汗 還好有Numpy,不然真的崩潰了... LaTex有沒有一個集成了很多常用公式以及推導或者含題庫的線上編輯器? 代碼褲子:https://github.com/lotapp/BaseCode 線上編程系:https://m ...
  • 上兩篇文章我向大家介紹了一些線程間的基本通信方式,那麼這篇文章就和大家聊聊volatile關鍵字的相關知識。這個關鍵字在我們的日常開發中很少會使用到,而在JDK的Lock包和Concurrent包下的類則大量的使用了這個關鍵字,因為它有如下兩個特性: 1.確保記憶體可見性 2.禁止指令重排序 接下來就 ...
  • JRE(Java Runtime Environment Java運行環境) 包括Java虛擬機(JVM Java Virtual Machine)和Java程式所需的核心類庫等,如果想要運行一個開發好的Java程式,電腦中只需要安裝JRE即可。 JDK(Java Development Kit ...