根據this question,SQL注入是必須防止的事情。在用戶只從數據庫中選擇的應用程序中,這將成爲一個問題?客戶端只選擇SQL注入
回答
這裏有問題的例子,如果用戶被限制在SELECT權限SQL注入甚至可以允許:
攻擊者可以讀取預期的數據只能由其他用戶讀取。許多應用程序使用相同的MySQL用戶進行連接,然後使用應用程序代碼實施進一步的數據訪問限制。即我只能看到我創建的購物車。但是通過SQL注入,我可以讀取每個人的購物車,他們的購買歷史記錄,他們的信用卡號碼等等。
攻擊者可以讀取其他帳戶的散列密碼,將其破解(在自己的計算機上),然後使用更高的權限登錄到其他用戶。
攻擊者可以通過運行使用太多資源的SELECT查詢來運行denial-of-service attack。例如,在MySQL上,即使對於具有沒有特權的用戶,表
INFORMATION_SCHEMA.CHARACTER_SETS
也是可讀的。現在到底是怎麼回事,當攻擊者運行此查詢的情況發生:SELECT * FROM (SELECT * FROM CHARACTER_SETS, CHARACTER_SETS, CHARACTER_SETS, CHARACTER_SETS, CHARACTER_SETS, CHARACTER_SETS) AS t ORDER BY 1
它試圖在磁盤上創建臨時表爲2,839,760,855,281行。我預測會耗盡服務器上的磁盤空間。
你的問題聽起來像你捕魚的理由跳過編寫安全的代碼,防止SQL注入。
對不起,沒有骰子。你需要編寫安全的代碼。
用戶所做的任何事情都會導致數據源上的CRUD操作應該被視爲危險並採取一切預防措施來防止SQL注入。
爲什麼?我正在使用的MySQL用戶僅具有SELECT訪問權限,而代碼本身僅運行SELECT功能。 – p26528
因爲,SQL注入如何欺騙所謂的用戶來選擇所有數據並將其發送給調用者? – rogerwamba
- 1. 在SQL數據庫中選擇只有一個產品的客戶端
- 2. 客戶端庫中的故障注入
- 3. 向客戶端變量注入ejs
- 4. OpenEJB本地客戶端注入失敗
- 5. 如何防止客戶端的SQL注入?
- 6. 帶選擇器的Apache Kafka客戶端?
- 7. JMS客戶端選擇器不工作
- 8. Telerik Grid客戶端行選擇
- 9. IdentityServer選擇UserService爲每個客戶端
- 10. 選擇元素客戶端修改?
- 11. 聊天客戶端沒有選擇?
- 12. mysql客戶端 - 選擇*減一組列
- 13. C#的客戶端 - 路由選擇器
- 14. Angularize SharePoint客戶端分類選擇器
- 15. MVC3有選擇地驗證客戶端
- 16. SQL Server的客戶端選項
- 17. roboguice注入客戶
- 18. 註釋Cometd Java客戶端
- 19. 從XMPP註銷客戶端
- 20. 我要選擇客戶,以及在SQL
- 21. 在FTP客戶端中放入選項
- 22. Apache Commons Http客戶端 - 註冊客戶端特定協議
- 23. 打印客戶端客戶端景觀(即只)
- 24. 插入 - 選擇會話的客戶
- 25. suds.client和導入客戶端什麼是「導入客戶端」
- 26. XMPP客戶端帳戶註冊
- 27. SQL連接ClientInfo客戶端
- 28. Amazon Redshift的SQL客戶端
- 29. Sql Server客戶端協議
- 30. Android上的SQL客戶端
是的,是的。 –
是的。這是一個問題。 –
@JohnConde怎麼樣?我正在使用的MySQL用戶僅具有SELECT訪問權限,而代碼本身僅運行SELECT功能。 – p26528