溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫(kù)中sql注入的示例分析

發(fā)布時(shí)間:2021-07-30 10:50:14 來(lái)源:億速云 閱讀:124 作者:小新 欄目:數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)數(shù)據(jù)庫(kù)中sql注入的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

首先可能大家都會(huì)問(wèn)什么是sql?

Sql是數(shù)據(jù)庫(kù)的一種類型,是用來(lái)存儲(chǔ)網(wǎng)站數(shù)據(jù)的。

每當(dāng)我們點(diǎn)開(kāi)一個(gè)網(wǎng)站,就會(huì)從網(wǎng)站的數(shù)據(jù)庫(kù)中獲取相關(guān)的內(nèi)容。

我們來(lái)梳理一下訪問(wèn)網(wǎng)頁(yè)的簡(jiǎn)圖:

數(shù)據(jù)庫(kù)中sql注入的示例分析

看完這個(gè)以后,我們發(fā)現(xiàn)一個(gè)問(wèn)題,當(dāng)我們對(duì)發(fā)送數(shù)據(jù)這塊動(dòng)足夠腦筋的時(shí)候,只要輸入合理是可以做很多事情的,我們可以利用其方式獲取很多內(nèi)容。

接下來(lái)我們來(lái)講解一下“ ' ”這個(gè)符號(hào)在sql中的運(yùn)用

首先' 在sql中閉合一句話結(jié)束,如果這句話用的是 ' 來(lái)閉合,那么我們?nèi)藶榈募尤?' 是不是可以在后面接新的語(yǔ)句了呀?接新的句子就可以做自己想要做的事情了。

當(dāng)然,如果大家想要真的理解還是要多學(xué)學(xué)sql和asp等語(yǔ)言。

接下來(lái)我們來(lái)開(kāi)始演示吧~

數(shù)據(jù)庫(kù)中sql注入的示例分析

接下來(lái)步入正軌,進(jìn)入域名以后,我們會(huì)發(fā)現(xiàn)網(wǎng)站是要我們輸入id的,所以在這里按照sql的要求輸入

http://localhost/sqli/Less-1/?id=1

這里的?Id=1是數(shù)據(jù)庫(kù)的進(jìn)入的格式,想要回去對(duì)應(yīng)的數(shù)據(jù)變數(shù)字就行了。

數(shù)據(jù)庫(kù)中sql注入的示例分析

http://localhost/sqli/Less-1/?id=2

數(shù)據(jù)庫(kù)中sql注入的示例分析

接著變換id,我們發(fā)現(xiàn)有多個(gè)賬戶密碼,這些都是這個(gè)網(wǎng)站對(duì)應(yīng)的數(shù)據(jù)庫(kù)里面的內(nèi)容。也是數(shù)據(jù)庫(kù)里面對(duì)應(yīng)的路徑。

接下來(lái)就是重點(diǎn)了,當(dāng)我們?cè)趆ttp://localhost/sqli/Less-1/?id=1后面加入 ' 時(shí)候,我們來(lái)看一下

數(shù)據(jù)庫(kù)中sql注入的示例分析

我們發(fā)現(xiàn)這個(gè)網(wǎng)站出現(xiàn)了報(bào)錯(cuò),并且出現(xiàn)了錯(cuò)誤信息的一個(gè)反饋

''1'' LIMIT 0,1'

這是由于我們加入 ' 引起的,我們來(lái)看一下這個(gè)報(bào)錯(cuò)語(yǔ)句,分析一下它,去掉最外層的 ‘' 得到 '1'' LIMIT 0,1 我們發(fā)現(xiàn)這個(gè)數(shù)據(jù)庫(kù)有限制,輸出只能是一行。

因?yàn)槲覀兗尤肓?#39;閉合了語(yǔ)句,那么結(jié)合后面的內(nèi)容,我們可以在'后面補(bǔ)充一些句子來(lái)得到更多的內(nèi)容,在這里我想獲取數(shù)據(jù)庫(kù)用戶名,一般默認(rèn)user

http://localhost/sqli/Less-1/?id=1'and updatexml(1,concat(0x7e,user()),0)%23

%23就是'的意思。 是#url編碼之后的值,因?yàn)閟ql語(yǔ)句在進(jìn)入數(shù)據(jù)查詢的時(shí)候會(huì)進(jìn)行一次url解碼,所以這個(gè)地方必須是url編碼之后的值

數(shù)據(jù)庫(kù)中sql注入的示例分析

這里我們看到出現(xiàn)了

~root@localhost

也就是數(shù)據(jù)庫(kù)的用戶名是 root

接下來(lái)我要查詢數(shù)據(jù)庫(kù)名稱

http://localhost/sqli/Less-1/?id=1' and updatexml(1,concat(0x7e,datebase()),0)%23

數(shù)據(jù)庫(kù)中sql注入的示例分析

這里因?yàn)槲野褦?shù)據(jù)庫(kù)文件名字改了所以沒(méi)有查出來(lái),當(dāng)然,如果你知道的夠多,這里還有很多種做法,這里的datebase的名字是可以猜解出來(lái)的。

關(guān)于“數(shù)據(jù)庫(kù)中sql注入的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI