SQL隱碼攻擊漏洞的判斷

時間 2021-07-01 05:50:13

1樓:匿名使用者

如果以前沒玩過注入,

請把ie選單-工具-internet選項-高階-顯示友好http錯誤資訊前面的勾去掉。

為了把問題說明清楚,以下以asp?id=xx(" target=_blank>http://www.

id=xx(這個地址是假想的)

為例進行分析,xx可能是整型,也有可能是字串。

1、整型引數的判斷

當輸入的引數xx為整型時,通常news.asp中sql語句原貌大致如下:

select * from 表名 where 欄位=xx,所以可以用以下步驟測試sql注入是否存在。

最簡單的判斷方法

附加一個單引號),

此時news.asp中的sql語句變成了

select * from 表名 where 欄位=xx’,

如果程式沒有過濾好“’”的話

就會提示 news.asp執行異常;

但這樣的方法雖然很簡單,但並不是最好的

因為first,不一定每臺伺服器的iis都返回具體錯誤提示給客戶端,

如果程式中加了cint(引數)之類語句的話,sql注入是不會成功的,

但伺服器同樣會報錯,具體提示資訊為處理 url 時伺服器上出錯。

請和系統管理員聯絡。

second,目前大多數程式設計師已經將“’“ 過濾掉,所以用” ’”測試不到注入點

所以一般使用經典的1=1和1=2測試方法

見下文:

執行正常,

而且與執行結果相同;

asp執行異常;(這就是經典的 1=1 ;1=2 判斷方法)

如果以上面滿足,news.asp中就會存在sql注入漏洞,反之則可能不能注入。

2、字串型引數的判斷

方法與數值型引數判斷方法基本相同

當輸入的引數xx為字串時,通常news.asp中sql語句原貌大致如下:

select * from 表名 where 欄位='xx',所以可以用以下步驟測試sql注入是否存在。

附加一個單引號),此時news.asp中的sql語句變成了

select * from 表名 where 欄位=xx’,news.asp執行異常;

and '1'='1', news.asp執行正常,

而且與執行結果相同;

and '1'='2', news.asp執行異常;

如果以上滿足,則news.asp存在sql注入漏洞,反之則不能注入

3、特殊情況的處理

有時asp程式設計師會在程式設計師過濾掉單引號等字元,以防止sql注入。此時可以用以下幾種方法試一試。

①大小定混合法:由於vbs並不區分大小寫,而程式設計師在過濾時通常要麼全部過濾大寫字串,要麼全部過濾小寫字串,而大小寫混合往往會被忽視。如用select代替select,select等;

②unicode法:在iis中,以unicode字符集實現國際化,我們完全可以ie中輸入的字串化成unicode字串進行輸入。如+ =%2b,空格=%20 等

;urlencode資訊參見附件一;

③ascii碼法:可以把輸入的部分或全部字元全部

<4>出了上述方法以外,還有個更簡單的方法就是使用現成的工具

像nb聯盟的nbsi就是一款很不錯的工具,目前最新的版本為2.2

2樓:山西新華電腦學校

sql注入:利用現有應用程式,將(惡意)的sql命令注入到後臺資料庫引擎執行的能力,這是sql注入的標準釋義。

解釋什麼是sql注入,xss漏洞

所謂sql注入,就是通過把sql命令插入到web表單提交或輸入域名或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。而xss漏洞,就是跨站指令碼攻擊,是一種在web應用中的電腦保安漏洞,它允許惡意web使用者將 植入到提供給其它使用者使用的頁面中。xss csrf sql 什麼是sql注...

php如何防止sql注入

小雞再次 額,這是我老師給的答案 答 過濾一些常見的資料庫操作關鍵字,select insert,update,delete,and,等或通過系統函式addslashes對內容進行過濾 php配置檔案中register globals off 設定為關閉狀態.作用將註冊全域性變數關閉 如接收post...

SQL隱碼攻擊中整型引數和字串型引數是什麼有什麼區別嗎

我幫你解釋以下吧,我只比較瞭解數字型的。2 如果存在注入漏洞 and 後面是1 1,1 1是邏輯值真,所以所以網頁返回正常,與原來的網頁相同。3 and後面是1 2是邏輯值假,整個語句就是假,所以返回異常的頁面。判斷出存在注入漏洞後,就可以構造sql語句猜解了。sql資料庫可以運用一種叫做爆欄位的方...