sqldbx使用技巧 什么是sql注入?我們常見的提交方式有哪些?
什么是sql注入?我們常見的提交方式有哪些?所謂的SQL注入,其實就是一個程序漏洞,并沒有什么技術(shù),比如下面的語句,可能是注入的。SQL select * FROM ADMIN WHERE USER
什么是sql注入?我們常見的提交方式有哪些?
所謂的SQL注入,其實就是一個程序漏洞,并沒有什么技術(shù),比如下面的語句,可能是注入的。
SQL select * FROM ADMIN WHERE USER amp request(USER)amp和PASS ampREQUEST(PASS)amp
別人可以精心設(shè)計一個PASS參數(shù)提交給你,讓你的SQL完成其他功能,比如PASS的值:
abc或用戶管理員
此時的SQL語句是什么樣的?看:
SELECT * FROM ADMIN WHERE user ADMIN AND PASSabc OR user ADMIN
任何密碼都可以成功登錄。
解決方法:程序要判斷user和pass的參數(shù)中是否有引號等特殊符號。我們在學(xué)習(xí)jdbc的時候,可以接觸到常見的占位符?符號替換
print和select的區(qū)別?
Print是將用戶定義的消息返回給客戶端的輸出。
Select將指定表的列或值返回給變量。
Print向應(yīng)用程序發(fā)送消息,該消息在ADO、OLE DB和ODBC應(yīng)用程序中作為消息錯誤返回。SQLSTATE設(shè)置為01000,本機(jī)錯誤設(shè)置為0,錯誤信息字符串設(shè)置為PRINT語句中指定的字符串。該字符串被返回給DB-Library應(yīng)用程序的消息處理程序回調(diào)函數(shù)。當(dāng)您使用自定義錯誤時,用raiserror拋出它,并讓您的應(yīng)用程序接收此消息。