一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - 數(shù)據(jù)庫技術(shù) - 數(shù)據(jù)庫之SQL注入原理以及過程的簡單介紹

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

2021-12-11 22:31Soda_199 數(shù)據(jù)庫技術(shù)

這篇文章主要介紹了數(shù)據(jù)庫之SQL注入原理以及過程的簡單介紹,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

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

開發(fā)代碼的時(shí)候沒有全面考慮到網(wǎng)絡(luò)安全性,特別是在用戶交互時(shí),沒有考慮到用戶提交的信息中可能破壞數(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é)議三大部分組成。

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

表示層是指用戶交互的界面。用戶在使用時(shí)在表示層輸入需求,然后這個信息就傳送給服務(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注入攻擊過程

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

過程:

通過檢查web頁而上存在的sql注入漏洞,構(gòu)建特殊的sql注入點(diǎn);

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

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

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

判斷注入點(diǎn)

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

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

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

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

舉例,len和length使用and len('a')=1的時(shí)候,返回正常頁面時(shí),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)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/Soda_199/article/details/81535695

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩精品视频美在线精品视频 | 日本中文字幕在线精品 | 特黄特色大片免费视频播放 | 丰腴尤物贵妇浪荡小说 | 2018天天弄| 国产欧美成人不卡视频 | 毛片应用| 欧美丝袜videohd | 97社区| 天堂网www在线观看 天堂欧美 | 久久亚洲精品AV成人无 | 轻轻色在线视频中文字幕 | 动漫美女人物被黄漫小说 | 欧美日韩国产超高清免费看片 | 东京干福利 | 午夜爱爱片 | 日本孕妇与黑人xxxxxx | 大乳孕妇一级毛片 | 午夜看片a福利在线观看 | 欧美综合色网 | 黑人巨茎大战欧美白妇 | 久久这里都是精品 | 精品国产自在现线久久 | 扒开双腿疯狂进出爽爽动态图 | 国产午夜免费 | 91大神在线精品播放 | 亚洲青草 | 精品一区二区三区自拍图片区 | 亚洲精品高清中文字幕完整版 | 久久棋牌评测 | 免费国产成人α片 | 美女黄板视频 | 日本人和黑人一级纶理片 | 美女被爆操 | 国产成人综合精品 | 国产精品久久久久不卡绿巨人 | 欧美胖逼 | 操大肥b | 青青草在线观看 | 菠萝视频在线完整版 | 草草国产成人免费视频 |