第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我是否可以通過(guò)轉(zhuǎn)義單引號(hào)和用單引號(hào)包圍用戶輸入來(lái)防止SQL注入?

我是否可以通過(guò)轉(zhuǎn)義單引號(hào)和用單引號(hào)包圍用戶輸入來(lái)防止SQL注入?

互換的青春 2019-10-12 11:07:55
我是否可以通過(guò)轉(zhuǎn)義單引號(hào)和用單引號(hào)包圍用戶輸入來(lái)防止SQL注入?我意識(shí)到,在構(gòu)建包含用戶輸入的查詢時(shí),參數(shù)化SQL查詢是對(duì)用戶輸入進(jìn)行清理的最佳方法,但我想知道接受用戶輸入和轉(zhuǎn)義任何單引號(hào)并用單引號(hào)包圍整個(gè)字符串有什么問(wèn)題。下面是代碼:sSanitizedInput = "'" & Replace(sInput, "'", "''") & "'"用戶輸入的任何單引號(hào)都將替換為雙引號(hào),這將消除用戶結(jié)束字符串的能力,因此他們可能鍵入的任何其他內(nèi)容(如分號(hào)、百分比符號(hào)等)都將是字符串的一部分,而不是作為命令的一部分實(shí)際執(zhí)行。我們使用的是MicrosoftSQLServer 2000,我認(rèn)為單引號(hào)是唯一的字符串分隔符,也是轉(zhuǎn)義字符串分隔符的唯一方法,因此無(wú)法執(zhí)行用戶鍵入的任何內(nèi)容。我看不出有什么方法可以針對(duì)這種情況發(fā)起SQL注入攻擊,但我意識(shí)到,如果這像我所認(rèn)為的那樣防彈,其他人就會(huì)想到這一點(diǎn),這將是一種常見(jiàn)的做法。這個(gè)密碼怎么了?是否有辦法使SQL注入攻擊超過(guò)這種消毒技術(shù)?使用此技術(shù)的示例用戶輸入將非常有用。最新情況:我仍然不知道如何有效地針對(duì)這段代碼發(fā)起SQL注入攻擊。有幾個(gè)人建議反斜杠會(huì)轉(zhuǎn)義一個(gè)單引號(hào),讓另一個(gè)單引號(hào)結(jié)束字符串,以便字符串的其余部分作為SQL命令的一部分執(zhí)行,我意識(shí)到這個(gè)方法可以將SQL注入MySQL數(shù)據(jù)庫(kù),但是在SQL Server 2000中,我能夠找到的唯一方法是用另一個(gè)單引號(hào)來(lái)轉(zhuǎn)義單引號(hào);反斜杠不能做到這一點(diǎn)。而且,除非有一種方法來(lái)停止轉(zhuǎn)義單引號(hào),否則將不會(huì)執(zhí)行其余的用戶輸入,因?yàn)樗紝⒈灰暈橐粋€(gè)連續(xù)字符串。我知道有更好的方法來(lái)消毒輸入,但我更感興趣的是學(xué)習(xí)為什么我提供的方法不能工作。如果有人知道針對(duì)這種消毒方法進(jìn)行SQL注入攻擊的任何具體方法,我很樂(lè)意看到它。
查看完整描述

3 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

好的,這個(gè)答復(fù)將與問(wèn)題的更新有關(guān):

“如果有人知道針對(duì)這種消毒方法進(jìn)行SQL注入攻擊的任何具體方法,我很樂(lè)意看到它?!?/trans>

現(xiàn)在,除了MySQL反斜杠轉(zhuǎn)義-并且考慮到我們實(shí)際上是在討論MSSQL,實(shí)際上有三種可能的方法來(lái)注入您的代碼

SaniizedInput=“‘”&替換(sInput、“’”)和“‘”

請(qǐng)考慮到,這些代碼并非在任何時(shí)候都有效,并且非常依賴于其周圍的實(shí)際代碼:

  1. 如果基于從數(shù)據(jù)庫(kù)檢索的數(shù)據(jù)重新生成sql查詢,則為二階sql注入。

    逃出

    ,數(shù)據(jù)未經(jīng)轉(zhuǎn)義就連接在一起,可能是間接注入SQL的.看見(jiàn)
  2. 字符串截?cái)?(稍微復(fù)雜一點(diǎn))-場(chǎng)景是有兩個(gè)字段,比如用戶名和密碼,SQL將這兩個(gè)字段連接起來(lái)。這兩個(gè)字段(或者僅僅是第一個(gè)字段)都有一個(gè)嚴(yán)格的長(zhǎng)度限制。例如,用戶名限制為20個(gè)字符。假設(shè)你有這樣的代碼:
username = left(Replace(sInput, "'", "''"), 20)

然后你得到的是用戶名,轉(zhuǎn)義,然后修剪成20個(gè)字符。這里的問(wèn)題-我會(huì)堅(jiān)持我的引號(hào)在第20個(gè)字符(例如,在19個(gè)a‘s之后),你的轉(zhuǎn)義引號(hào)將被削減(在第21字符)。然后是SQL。

sSQL = "select * from USERS where username = '" + username + "'  and password = '" + password + "'"

與上述格式錯(cuò)誤的用戶名相結(jié)合,將導(dǎo)致密碼已經(jīng)被引號(hào),并將直接包含有效載荷。
3.Unicode走私-在某些情況下,可以傳遞一個(gè)高級(jí)Unicode字符相貌就像一句名言,但是不是-直到它到達(dá)數(shù)據(jù)庫(kù),在那里突然它是..因?yàn)楫?dāng)你驗(yàn)證它的時(shí)候,它不是引號(hào),所以它會(huì)很容易.有關(guān)更多細(xì)節(jié),請(qǐng)參閱我先前的回復(fù),并鏈接到原始研究。



查看完整回答
反對(duì) 回復(fù) 2019-10-13
  • 3 回答
  • 0 關(guān)注
  • 386 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)