代碼審計--47--新篇章之SQL代碼審計(二)

本篇介紹了以下代碼安全問題
1、硬編碼加密密匙
2、空密碼
3、硬編碼密碼
4、null密碼
5、不安全的隨機數
6、侵犯隱私
7、未指定的標識符
8、重定向
9、調用xp_cmdshell
10、調用EXEC_DDL_STATEMENT

1、硬編碼加密密匙

詳細信息

請勿對加密密鑰進行硬編碼,因爲這樣所有項目開發人員都能查看該加密密鑰,而且還會大大增加解決問題的難度。一旦代碼被使用,除非對軟件進行修補,否則加密密鑰將再也不能更改。如果受加密密鑰保護的帳戶遭受入侵,系統所有者將被迫在安全性和可用性之間做出選擇。

任何可訪問該代碼的人都能訪問加密密鑰。一旦應用程序發佈,除非對程序進行修補,否則將無法更改加密密鑰。員工可以利用手中掌握的信息訪問權限入侵系統。更糟糕的是,如果攻擊者可以訪問應用程序的可執行文件,就可以提取加密密鑰值。

修復建議

避免對加密祕鑰進行硬編碼。

2、空密碼

詳細信息

爲密碼變量指定空字符串絕非一個好方法。如果使用 empty password 成功通過其他系統的驗證,那麼相應帳戶的安全性很可能會被減弱,原因是其接受了 empty password。如果在爲變量指定一個合法的值之前,empty password 僅僅是一個佔位符,那麼它將給任何不熟悉代碼的人造成困惑,而且還可能導致出現意外控制流路徑方面的問題。

示例:以下代碼可初始化 empty password 變量。

DECLARE
    password VARCHAR(
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章