SQL Injection之解决建议措施及相关资讯汇整.DOCVIP

SQL Injection之解决建议措施及相关资讯汇整.DOC

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Injection之解决建议措施及相关资讯汇整

SQL Injection之解決建議措施及相關資訊彙整 漏洞說明: SQL Injection是一種未做好輸入查驗 Input Validation 的問題,即在撰寫應用程式時,沒有對使用者的輸入做妥善的過濾與處理,便將其組合成SQL指令,傳送給SQL server執行。因而若使用者輸入之資料中含有某些對資料庫系統有特殊意義的符號或命令時,便可能讓使用者有機會對資料庫系統下達指令,而造成入侵所帶來的損失。事實上,這樣的疏漏並不是資料庫系統的錯誤,而是程式設計師或軟體開發者的疏忽所產生的。 影響平台: 使用網站系統:Apache、IIS、Domino、Netscape 使用程式碼: ASP、PHP、JSP 攻擊破壞SQL資料庫: 包括 MS-SQL、MySQL、Oracle、Sybase、DB2 等等 SQL Injection可能造成的危害: 透過SQL Injection操作資料庫,可以新增、更動或刪除資料庫的資料,造成資料遺漏或是不正確;如果操作資料庫的使用者權限為系統管理者,那麼還有可能造成其他更嚴重的破壞,例如奪取資料庫的控制權。 SQL Injection的影響範圍: 只要有使用或連結資料庫的軟體、網路服務都有可能面臨SQL Injection的威脅。乍聽之下影響範圍似乎很大,但是大多數的商用軟體並不會有這樣的問題;比較嚴重的可能是網路服務部分,由於網站程式開發者的素質良莠不齊,或是對於資料庫的指令操作與系統管理不熟悉,所以只要有提供表單 Form 輸入介面的網站,都有可能面臨威脅。 解決之道與預防方法: 1. 對於字串的輸入加以過濾,並限制長度。例如 或 這種單、雙引號都應該過濾掉,這樣可以避免輸入者利用 或 這種單、雙引號截斷原本的SQL指令再插入自己的指令。過濾的方法依開發語言的不同而有不同的方法,以VB Script/ASP為例,過濾單引號的簡單方法為: SafeString Replace InputString, “”, “” 2. 若輸入為數值資料則須確定其只輸入0~9之數字,若包含其他英文字母或符號則一律拒絕接受。 3. 對於前兩項的檢查必須寫在server端的程式上,如PHP、ASP及其他各種CGI程式,而不能將其寫於Java script或VB script等會於client端執行的程式上,因惡意使用者可將client端程式另存於本地端硬碟後,再將其修改以略過檢查。並且不要在server上留有.bak或.old檔,若有.inc檔也不要取與主.asp相同或容易猜測之檔名,因為一般網頁伺服器會允許這些檔案的下載。 4. 加強資料庫帳號與權限管理,讓網站或軟體不以系統管理者的帳號連結資料庫,而對每個資料庫設定一組個別的帳號與強健的密碼,限制這組帳號僅能對該資料庫有讀寫權限。當面臨SQL Injection的侵入時,分權管理能夠限制損害的範圍,減少因為疏忽造成的損失。 5. 做好正確錯誤處理,最理想狀態是所有使用者輸入皆在程式設計者預期之中;若萬一出現非預期的情形也要做好例外處理,勿讓使用者直接看到系統傳回的錯誤訊息,以免惡意使用者由系統錯誤訊息中獲取過多資訊。 6. 全面檢視軟體的程式碼。這在一般商用軟體或應用軟體不太可能做到,但是可以詢問軟體廠商這類問題,以確保他們有進行檢查;網站程式的部分,可以請開發的程式設計師做一次全面性的檢查。 7. 各資料庫系統安裝時通常會有一些預先定義的Table,若確定這些Table並不需要使用到,最好予以刪除,以免惡意使用者利用這些Table獲取過多資訊。 8. 做好軟體開發控管。針對每個資料欄位的Input,確實做好檢查的工作,以降低開發出面臨威脅的程式或軟體。 相關網址: 1. SQL Injection FAQ: /faq-inj.asp 2. SQL Injection WhitePaper: /whitepapers/WhitepaperSQLInjection.pdf 3 『資料隱碼』SQL Injection的源由與防範之道 /taiwan/sql/SQL_Injection.htm 4. SQL Injection 資料隱碼 – 駭客的 SQL填空遊戲 上 /taiwan/sql/SQL_Injection_G1.htm 5. SQL Injection 資料隱碼 – 駭客的 SQL填空遊戲 下 /taiwan/sql/SQL_Injection_G2.htm

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档