校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 數據庫之SQL注入原理以及過程的簡單介紹

數據庫之SQL注入原理以及過程的簡單介紹

熱門標簽:隨州營銷電話機器人怎么樣 機器人電話機創意繪畫 江西南昌百應電話機器人 天音通信電話機器人 400電話從哪里申請濱州 hbuilder地圖標注 高德地圖標注商家在哪 400電話申請怎么看 杭州400電話如何申請的

1、產生SQL注入原因

開發代碼的時候沒有全面考慮到網絡安全性,特別是在用戶交互時,沒有考慮到用戶提交的信息中可能破壞數據庫,沒有對輸入的數據進行合法的過濾。SQL 注入過程目的性是非常強的,其主要目標是 Web 應用的后臺數據庫,從數據庫中獲取信息和授予較高的權限,它先破壞數據庫,再對數據庫服務器進行破壞。

2、SQL注入原理

首先要了解web網站的架構:

Web 網站架構總體結構由 Web 服務器端、客戶終端和通信協議三大部分組成。

表示層是指用戶交互的界面。用戶在使用時在表示層輸入需求,然后這個信息就傳送給服務器,再傳輸給數據庫,服務器將后臺反饋的結果返回給用戶。

邏輯層為表示層提供請求的應答,為數據層提供參數需求

數據層主要是對用戶提交的涉及到數據查詢做出回應

下面以一個ASP網站為例來說明SQL注入攻擊原理Web頁面接收用戶輸入的用戶名(username)和密碼(pwd),并動態生成一個SQL語句,通過用戶名(usexname)和密碼(pwd)查詢數據庫中users表,如果該查詢訪問成功,將返回一個用戶記錄信息,且用戶登錄成功。

其中生成SQL語句如下:

    sql="select*from users where name ="'username"' and pwd="'userpwd" "'

    如果攻擊者在登錄頁面中輸入了下面這樣的數據:

    Username: 'or'1'='1 or'1'='2 

    Password:  000(任意)

    那么,SQL查詢語句就變為:

    select*from users where name ="or' 1'=' 1' or'1'='2' and pwd='00'

    where后的語句為 name ="or'1'='1' or'1'='2' and pwd='0'

轉換成邏輯語句后,其形式為: 假or真or假and假,則最終結果為真

最終結果為真,那么SQL語句的查詢結果也變成真,

所以上面查詢語句將返回表中所有用戶記錄,攻擊者將以表中第1個用戶的身份登錄。

如果攻擊者在登錄頁面中指定了下面這樣的輸入數據:

    Username:';drop table users一

    Password:  000(任意)

提交數據后,提示登錄失敗,但結果不僅如此,而是數據庫表users將被刪除,任何用戶都無法登錄。

3、SQL注入攻擊過程

過程:

通過檢查Web頁而上存在的SQL注入漏洞,構建特殊的SQL注入;

其次通過這些特殊的注入點利用Web頁而動態傳遞參數的功能,將SQL的語法組合動態傳遞給數據庫;

然后根據數據庫的不同類型,對數據庫采取不同的處理;

最后執行SQL語句,從而達到攻擊者想要的目的。

判斷注入點

在含有傳遞參數的動態網頁中,判斷是否存在注入漏洞。通常的判斷方法有參數傳遞的地方輸入參“and 1=1” ;“and 1=2”

結果:分別返回不同的頁面,說明存在注入漏洞。

判斷數據庫類型:

①通過函數來判斷數據庫類型:內置的函數的區別。

舉例,len和length使用and len('a')=1的時候,返回正常頁面時,mssql,或mysql。反之則可能會是oracle和informix

--# 這兩個注釋符號

MSSQSL是--,而MYSQL是#,ACCESS不支持注釋

HTTP://xxx.xxx.xxx/abc.asp?p=YY--

HTTP://xxx.xxx.xxx/abc.asp?p=YY#

SQL Server SA用戶權限

xp_cmdshell 擴展存儲過程將命令字符串作為操作系統命令 執行,并以文本行的形式返回所有輸出。由于xp_cmdshell 可以執行任何操作系統命令,所以一旦SQL Server管理員帳號(如sa)被攻破,那么攻擊者就可以利用xp_cmdshell 在SQL Server中執行操作系統命令,如:創建系統管理員。

到此這篇關于數據庫之SQL注入原理以及過程的簡單介紹的文章就介紹到這了,更多相關SQL注入原理及過程內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Java SQL注入案例教程及html基礎入門
  • MyBatis下SQL注入攻擊的3種方式
  • SQL注入的實現以及防范示例詳解
  • Mybatis-Plus的應用場景描述及注入SQL原理分析
  • 如何有效防止sql注入的方法
  • Java使用過濾器防止SQL注入XSS腳本注入的實現
  • 實例介紹SQL注入以及如何解決
  • 有效防止sql注入的方法演示

標簽:保定 鶴崗 葫蘆島 常德 石嘴山 昆明 招商 沈陽

巨人網絡通訊聲明:本文標題《數據庫之SQL注入原理以及過程的簡單介紹》,本文關鍵詞  數據庫,之,SQL,注入,原理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《數據庫之SQL注入原理以及過程的簡單介紹》相關的同類信息!
  • 本頁收集關于數據庫之SQL注入原理以及過程的簡單介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 浏阳市| 房山区| 乌兰浩特市| 大化| 汝城县| 台前县| 汝阳县| 宾川县| 平乐县| 深水埗区| 明水县| 鲁甸县| 高台县| 榆林市| 溧水县| 荣成市| 长阳| 蚌埠市| 芷江| 太仓市| 上饶县| 宁河县| 邢台市| 巴楚县| 长春市| 康马县| 克东县| 云梦县| 涪陵区| 乌审旗| 乌拉特中旗| 英德市| 海阳市| 静安区| 武清区| 离岛区| 南安市| 乐安县| 崇文区| 松潘县| 于田县|