傳說(shuō),SQL注入是黑客對(duì)數(shù)據(jù)庫(kù)進(jìn)行攻擊的常用手段,今天就來(lái)介紹一下SQL注入。
01 SQL注入介紹
SQL注入是網(wǎng)站存在最多也是最簡(jiǎn)單的漏洞,主要原因是程序員在開發(fā)用戶和數(shù)據(jù)庫(kù)交互的系統(tǒng)時(shí)沒有對(duì)用戶輸入的字符串進(jìn)行過(guò)濾,轉(zhuǎn)義,限制或處理不嚴(yán)謹(jǐn),導(dǎo)致用戶可以通過(guò)輸入精心構(gòu)造的字符串去非法獲取到數(shù)據(jù)庫(kù)中的數(shù)據(jù)。本文以免費(fèi)開源數(shù)據(jù)庫(kù)MySQL為例。
02 SQL注入舉例
以萬(wàn)能密碼場(chǎng)景舉例說(shuō)明:
這里用戶登錄用的SQL語(yǔ)句為:
SELECT * FROM user WHERE username=‘admin’ AND password=‘passwd’;
此處admin和passwd分別為用戶輸入的用戶名和密碼,如果程序沒有對(duì)用戶輸入的用戶名和密碼做處理,就可以構(gòu)造萬(wàn)能密碼成功繞過(guò)登錄驗(yàn)證,如用戶輸入‘or 1=1#, SQL語(yǔ)句將變?yōu)椋?/p>
SELECT * FROM user WHERE username=’‘or 1=1#’ AND password=‘’;
‘’or 1=1為TRUE,#注釋掉后面的內(nèi)容,所以查詢語(yǔ)句可以正確執(zhí)行。這樣就繞過(guò)了后臺(tái)的驗(yàn)證,達(dá)到注入的目的。
03 SQL注入分類
事實(shí)上SQL注入有很多種,按數(shù)據(jù)類型可以分為數(shù)字型、字符型和搜索型,按提交方式可分為GET型,POST型,Cookie型和HTTP請(qǐng)求頭注入,按執(zhí)行效果有可以分為報(bào)錯(cuò)注入、聯(lián)合查詢注入、盲注和堆查詢注入,其中盲注又可分為基于bool的和基于時(shí)間的注入。
SQL盲注,與一般注入的區(qū)別在于,一般的注入攻擊者可以直接從頁(yè)面上看到注入語(yǔ)句的執(zhí)行結(jié)果,而盲注時(shí)攻擊者通常是無(wú)法從顯示頁(yè)面上獲取執(zhí)行結(jié)果,甚至連注入語(yǔ)句是否執(zhí)行都無(wú)從得知,因此盲注的難度要比一般注入高。
目前網(wǎng)絡(luò)上現(xiàn)存的SQL注入漏洞大多是SQL盲注。
-
SQL
+關(guān)注
關(guān)注
1文章
783瀏覽量
45163 -
安全測(cè)試
+關(guān)注
關(guān)注
0文章
30瀏覽量
8875
發(fā)布評(píng)論請(qǐng)先 登錄
一文帶你了解電源測(cè)試系統(tǒng)的功能!

帶你一文了解芯片開封技術(shù)

直流充電安全測(cè)試負(fù)載方案解析
一文帶你了解電氣安規(guī)測(cè)試

如何一眼定位SQL的代碼來(lái)源:一款SQL染色標(biāo)記的簡(jiǎn)易MyBatis插件

功能安全實(shí)車測(cè)試新突破:故障注入技術(shù)的創(chuàng)新實(shí)踐

Web安全之滲透測(cè)試基礎(chǔ)與實(shí)踐
dbForge Studio For SQL Server:用于有效開發(fā)的最佳SQL Server集成開發(fā)環(huán)境
帶你一文了解什么是燈具檢測(cè)測(cè)試

一文了解半導(dǎo)體離子注入技術(shù)

入門web安全筆記分享

環(huán)路測(cè)試注入信號(hào)是不是越小越好
一文帶你了解IP版本

評(píng)論