SQL注入的防範

2022-06-18 23:18:09 字數 1193 閱讀 1752

**:

1.不要使用sa使用者連線資料庫

2、新建乙個public許可權資料庫使用者,並用這個使用者訪問資料庫

3、[角色]去掉角色public對sysobjects與syscolumns

物件的select訪問許可權

4、[使用者]使用者名稱-> 右鍵-屬性-許可權-在sysobjects與syscolumns上面打「×」

5、通過以下**檢測(失敗表示許可權正確,如能顯示出來則表明許可權太高):

declare 

@t varchar(255),

@c varchar(255)

declare 

table_cursor 

cursor 

forselect 

a.name,b.name 

from 

sysobjects 

a,syscolumns 

bwhere 

a.id=b.id 

and 

a.xtype= 'u ' 

and 

(b.xtype=99 

or b.xtype=35 

or b.xtype=231 

or b.xtype=167) 

open 

table_cursor

fetch 

next 

from 

table_cursor 

into 

@t,@c

while(@@fetch_status=0)

begin 

print 

@cfetch 

next 

from 

table_cursor 

into 

@t,@c 

endclose 

table_cursor

deallocate 

table_cursor

另外,總結如下:

1.盡量使用引數化查詢

2.把乙個單引號換成兩個單引號

3.資料庫許可權的控制

4.過濾特殊字串(如 select/update/drop/...)**(

5.使用httputility.htmlencode對輸入的內容進行編碼,徹底禁用其中的標籤,然後對有用標籤的進行replace還原。(.aspx頁面 validaterequest=true 預設禁止)

防範sql注入

真沒語言了,公司的 都有這個漏洞,明天趕緊把改了 sql注入式攻擊是利用是指利用設計上的漏洞,在目標伺服器上執行sql命令以及進行其他方式的攻擊 動態生成sql命令時沒有對使用者輸入的資料進行驗證是sql注入攻擊得逞的主要原因。比如 如果你的查詢語句是select from admin where ...

sql 注入防範

關於身份驗證 sql select from user where name name and pwd pwd 假設只知道使用者名稱不知道密碼 1 我們在使用者名稱位置輸入 admin or 1 1 注 內容只有 內的。看看sql會變成什麼 sql select from user where na...

SQL注入的防範

所謂sql注入,就是通過把sql命令偽裝成正常的http請求引數,傳遞到服務端,欺騙伺服器最終執行惡意的sql命令,達到入侵目的。攻擊者可以利用sql注入漏洞,查詢非授權資訊,修改資料庫伺服器的資料,改變表結構,甚至是獲取伺服器root許可權。預編譯語句使用引數佔位符來替代需要動態傳入的引數,這樣攻...