欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

數(shù)據(jù)庫之SQL注入原理以及過程的簡單介紹

 更新時間:2021年07月27日 08:29:21   作者:Soda_199  
這篇文章主要介紹了數(shù)據(jù)庫之SQL注入原理以及過程的簡單介紹,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

1、產(chǎn)生SQL注入原因

開發(fā)代碼的時候沒有全面考慮到網(wǎng)絡(luò)安全性,特別是在用戶交互時,沒有考慮到用戶提交的信息中可能破壞數(shù)據(jù)庫,沒有對輸入的數(shù)據(jù)進(jìn)行合法的過濾。SQL 注入過程目的性是非常強(qiáng)的,其主要目標(biāo)是 Web 應(yīng)用的后臺數(shù)據(jù)庫,從數(shù)據(jù)庫中獲取信息和授予較高的權(quán)限,它先破壞數(shù)據(jù)庫,再對數(shù)據(jù)庫服務(wù)器進(jìn)行破壞。

2、SQL注入原理

首先要了解web網(wǎng)站的架構(gòu):

Web 網(wǎng)站架構(gòu)總體結(jié)構(gòu)由 Web 服務(wù)器端、客戶終端和通信協(xié)議三大部分組成。

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

邏輯層為表示層提供請求的應(yīng)答,為數(shù)據(jù)層提供參數(shù)需求

數(shù)據(jù)層主要是對用戶提交的涉及到數(shù)據(jù)查詢做出回應(yīng)

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

其中生成SQL語句如下:

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

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

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

    Password:  000(任意)

    那么,SQL查詢語句就變?yōu)?

    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'

轉(zhuǎn)換成邏輯語句后,其形式為: 假or真or假and假,則最終結(jié)果為真

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

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

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

    Username:';drop table users一

    Password:  000(任意)

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

3、SQL注入攻擊過程

過程:

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

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

然后根據(jù)數(shù)據(jù)庫的不同類型,對數(shù)據(jù)庫采取不同的處理;

最后執(zhí)行SQL語句,從而達(dá)到攻擊者想要的目的。

判斷注入點。

在含有傳遞參數(shù)的動態(tài)網(wǎng)頁中,判斷是否存在注入漏洞。通常的判斷方法有參數(shù)傳遞的地方輸入?yún)ⅰ癮nd 1=1” ;“and 1=2”

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

判斷數(shù)據(jù)庫類型:

①通過函數(shù)來判斷數(shù)據(jù)庫類型:內(nèi)置的函數(shù)的區(qū)別。

舉例,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用戶權(quán)限

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

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

相關(guān)文章

  • 談?wù)剶?shù)據(jù)庫的字段設(shè)計的幾個心得

    談?wù)剶?shù)據(jù)庫的字段設(shè)計的幾個心得

    今天小編就為大家分享一篇關(guān)于談?wù)剶?shù)據(jù)庫的字段設(shè)計的幾個心得,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • SQL注入技巧之顯注與盲注中過濾逗號繞過詳析

    SQL注入技巧之顯注與盲注中過濾逗號繞過詳析

    SQL注入的繞過技巧有很多,下面這篇文章主要給大家介紹了關(guān)于SQL注入技巧之顯注與盲注中過濾逗號繞過的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • SQL中游標(biāo)(cursor)的基本使用實例

    SQL中游標(biāo)(cursor)的基本使用實例

    當(dāng)你檢索的數(shù)據(jù)只是一條記錄時,你所編寫的事務(wù)語句代碼往往使用SELECT INSERT語句,但如果從某一結(jié)果集中逐一地讀取一條記錄呢?游標(biāo)為我們提供了一種極為優(yōu)秀的解決方案,這篇文章主要給大家介紹了關(guān)于SQL中游標(biāo)(cursor)基本使用的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • OLEDB和ODBC的區(qū)別(優(yōu)缺點)

    OLEDB和ODBC的區(qū)別(優(yōu)缺點)

    ODBC是一種連接數(shù)據(jù)庫的開放標(biāo)準(zhǔn),OLEDB(對象鏈接和嵌入數(shù)據(jù)庫)位于ODBC層與應(yīng)用程序之間. 在你的ASP頁面里,ADO是位于OLEDB之上的應(yīng)用程序. 你的ADO調(diào)用先被送到OLEDB,然后再交由ODBC處理
    2012-09-09
  • 詳細(xì)聊聊sql中exists和not?exists用法

    詳細(xì)聊聊sql中exists和not?exists用法

    mysql exists或not exists語句用于子查詢,改語句只返回 TRUE 或 FALSE,下面這篇文章主要給大家介紹了關(guān)于sql中exists和not?exists用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • 使用navicat導(dǎo)入sql文件的方法步驟

    使用navicat導(dǎo)入sql文件的方法步驟

    這篇文章主要介紹了使用navicat導(dǎo)入sql文件的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 在PostgreSQL上安裝并使用擴(kuò)展模塊的教程

    在PostgreSQL上安裝并使用擴(kuò)展模塊的教程

    這篇文章主要介紹了在PostgreSQL上安裝并使用擴(kuò)展模塊的教程,作者在Ubuntu系統(tǒng)上給出演示,需要的朋友可以參考下
    2015-04-04
  • 修改插入時間不匹配問題

    修改插入時間不匹配問題

    修改插入時間不匹配問題的解決方法。需要的朋友可以參考下。
    2009-11-11
  • 在PostgreSQL中實現(xiàn)遞歸查詢的教程

    在PostgreSQL中實現(xiàn)遞歸查詢的教程

    這篇文章主要介紹了在PostgreSQL中實現(xiàn)遞歸查詢的教程,包括在遞歸查詢內(nèi)排序等方法的介紹,需要的朋友可以參考下
    2015-04-04
  • windows環(huán)境下python連接openGauss數(shù)據(jù)庫的全過程

    windows環(huán)境下python連接openGauss數(shù)據(jù)庫的全過程

    openGauss是一款全面友好開放,攜手伙伴共同打造的企業(yè)級開源關(guān)系型數(shù)據(jù)庫,這篇文章主要給大家介紹了關(guān)于windows環(huán)境下python連接openGauss數(shù)據(jù)庫的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01

最新評論