程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server的高級Sql注入(8)

SQL Server的高級Sql注入(8)

編輯:關於SqlServer

uni'on sel'ect @@version-'-

因為單引號被過濾器刪除了,攻擊者可以把單引號散布於它的已知的非法字符串裡來躲避檢查。

下面是一些驗證的代碼:

方法1-躲避單引號

function escape( input )
input = replace(input, "'", "''")
escape = input
end function

方法2-抵制已知的非法輸入

function validate_string( input )
know_bad = array( "select", "insert", "update", "delete", "drop", "--", "'")
validate_string = true
for i = lbound( know_bad ) to ubound( known_bad )
if( instr( 1, input, known_bad(i), vbtextcompare) <> 0 )
validate_string = false
exit function
end if
next
end function

方法3-只允許合法輸入

function validatepassWord( input )
good_passWord_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
validatepassWord = true
for i = 1 to len( input )
c = mid( input, i, 1 )
if ( instr( good_passWord_chars, c ) = 0 ) then
validatepassWord = false
exit function
end if
next
end function

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved