亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    sql注入的三種方式是什么?

    sql注入的三種方式,分別是:1、數(shù)字型注入;當(dāng)輸入的參數(shù)為整型時(shí),則有可能存在數(shù)字型注入漏洞。2、字符型注入;當(dāng)輸入?yún)?shù)為字符串時(shí),則可能存在字符型注入漏洞。3、其他類型(例如:搜索型注入、Cookie注入、POST注入等)。

    sql注入的三種方式是什么?

    SQL 注入原理

    SQL注入攻擊指的是通過(guò)構(gòu)建特殊的輸入作為參數(shù)傳入Web應(yīng)用程序,而這些輸入大都是SQL語(yǔ)法里的一些組合,通過(guò)執(zhí)行SQL語(yǔ)句進(jìn)而執(zhí)行攻擊者所要的操作,其主要原因是程序沒(méi)有細(xì)致地過(guò)濾用戶輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。

    SQL 注入分類

    1. 數(shù)字型注入

    當(dāng)輸入的參數(shù)為整型時(shí),則有可能存在數(shù)字型注入漏洞。

    假設(shè)存在一條 URL 為:HTTP://www.aaa.com/test.php?id=1
    可以對(duì)后臺(tái)的 SQL 語(yǔ)句猜測(cè)為:
    SELECT * FROM table WHERE id=1

    判斷數(shù)字型漏洞的 SQL 注入點(diǎn)

    ① 先在輸入框中輸入一個(gè)單引號(hào) '

    這樣的 SQL 語(yǔ)句就會(huì)變?yōu)椋?/p>

    SELECT * FROM table WHERE id=1'

    不符合語(yǔ)法,所以該語(yǔ)句肯定會(huì)出錯(cuò),導(dǎo)致腳本程序無(wú)法從數(shù)據(jù)庫(kù)獲取數(shù)據(jù),從而使原來(lái)的頁(yè)面出現(xiàn)異常。

    ② 在輸入框中輸入 and 1 = 1

    SQL語(yǔ)句變?yōu)椋?/p>

    SELECT * FROM table WHERE id=1 and 1 = 1

    語(yǔ)句正確,執(zhí)行正常,返回的數(shù)據(jù)與原始請(qǐng)求無(wú)任何差異。

    ③ 在數(shù)據(jù)庫(kù)中輸入 and 1 = 2

    SQL 語(yǔ)句變?yōu)椋?/p>

    SELECT * FROM table WHERE id=1 and 1 = 2

    雖然語(yǔ)法正確,語(yǔ)句執(zhí)行正常,但是邏輯錯(cuò)誤,因?yàn)?1 = 2 為永假,所以返回?cái)?shù)據(jù)與原始請(qǐng)求有差異。

    如果以上三個(gè)步驟全部滿足,則程序就可能存在數(shù)字型 SQL 注入漏洞。

    2. 字符型注入

    當(dāng)輸入?yún)?shù)為字符串時(shí),則可能存在字符型注入漏洞。數(shù)字型與字符型注入最大的區(qū)別在于:數(shù)字型不需要單引號(hào)閉合,而字符型一般需要使用單引號(hào)來(lái)閉合。

    字符型注入最關(guān)鍵的是如何閉合 SQL 語(yǔ)句以及注釋多余的代碼。

    假設(shè)后臺(tái)的 SQL 語(yǔ)句如下:
    SELECT * FROM table WHERE username = 'admin'

    判斷字符型漏洞的 SQL 注入點(diǎn)

    ① 還是先輸入單引號(hào) admin' 來(lái)測(cè)試

    這樣的 SQL 語(yǔ)句就會(huì)變?yōu)椋?/p>

    SELECT * FROM table WHERE username = 'admin''。

    頁(yè)面異常。

    ② 輸入:admin' and 1 = 1 --

    注意:在 admin 后有一個(gè)單引號(hào) ',用于字符串閉合,最后還有一個(gè)注釋符 --(兩條杠后面還有一個(gè)空格?。?!)。

    SQL 語(yǔ)句變?yōu)椋?/p>

    SELECT * FROM table WHERE username = 'admin' and 1 = 1 --

    頁(yè)面顯示正確。

    ③ 輸入:admin' and 1 = 2 --

    SQL 語(yǔ)句變?yōu)椋?/p>

    SELECT * FROM table WHERE username = 'admin' and 1 = 2 --

    頁(yè)面錯(cuò)誤。

    滿足上面三個(gè)步驟則有可能存在字符型 SQL 注入。

    3. 其他類型

    其實(shí)我覺(jué)得 SQL 注入只有兩種類型:數(shù)字型與字符型。很多人可能會(huì)說(shuō)還有如:Cookie 注入、POST 注入、延時(shí)注入等。
    的確如此,但這些類型的注入歸根結(jié)底也是數(shù)字型和字符型注入的不同展現(xiàn)形式或者注入的位置不同罷了。

    以下是一些常見(jiàn)的注入叫法:

    • POST注入:注入字段在 POST 數(shù)據(jù)中
    • Cookie注入:注入字段在 Cookie 數(shù)據(jù)中
    • 延時(shí)注入:使用數(shù)據(jù)庫(kù)延時(shí)特性注入
    • 搜索注入:注入處為搜索的地方
    • base64注入:注入字符串需要經(jīng)過(guò) base64 加密

    常見(jiàn)數(shù)據(jù)庫(kù)的注入

    攻擊者對(duì)于數(shù)據(jù)庫(kù)注入,無(wú)非是利用數(shù)據(jù)庫(kù)獲取

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)