iT邦幫忙

0

SQL injection

  • 分享至 

  • xImage
  •  

SQL注入
當程序員連接字符串以彙編SQL指令時,就會發生SQL注入。字符串是純數據,而SQL指令是可執行代碼。

  1. 用戶可以以HTML形式輸入摘要或SQL代碼片段作為輸入,然後將其發佈到後端服務器進行處理。
  2. 如果程序員將從攻擊者發布的SQL代碼視為普通數據,並將它們與主要SQL指令結合在一起,則組裝的SQL代碼可以成功執行。這就是SQL注入的工作方式。

從字符串組裝的SQL查詢
下面是一個示例,該示例在不使用SQL參數的情況下將字符串組合到SQL查詢中。用戶輸入$ email和$ password擴展為原始字符串(如以下紅色文本所示),並組合為一個SQL查詢。
從用戶那裡選擇*電子郵件= 'xxx @ xxx.xxx'和密碼= md5(' xxx')或1 = 1--] ');
https://ithelp.ithome.com.tw/upload/images/20201106/20132160CA5IbLhjfs.png
參數化查詢示例
@Age是SQL查詢@SqlInstruction中使用的參數。
宣告@SqlInstruction NVARCHAR(500);
SET @SqlInstruction = N'SELECT * FROM從用戶年齡= @Age ;';
EXEC sp_executesql @ SqlInstruction,N'@ Age INT',99 ;

參考文獻
.基於角色的訪問控制與基於屬性的訪問控制:如何選擇
.RBAC與ABAC訪問控制模型:有什麼區別?
.SQL注入示例–參數化查詢–印地語

資料來源:Wentz Wu QOTD-20201105


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言