-
您的位置:首页 → 精文荟萃 → 软件资讯 → 精通Sql Injection技术
精通Sql Injection技术
时间:2004/10/7 18:19:00来源:本站整理作者:蓝点我要评论(0)
-
SQL Injection 應稱為 SQL 指令植入式攻擊,主要是屬於 Input Validation 的問題。目前被翻譯成『資料隱碼』攻擊。
SQL Injection攻擊法並非植入電腦病毒,它是描述一個利用寫入特殊SQL程式碼攻擊應用程式的動作。
換言之,只要提供給使用者輸入的介面,又沒有做到相當嚴密的輸入資料型態管制,就有可能會遭受這種行為的攻擊。
Apache、IIS、Domino、Netscape的網站系統,透過ASP、PHP與JSP等程式碼,攻擊破壞各種SQL資料庫。
影響的系統包括MSSQL、MySQL、Oracle、Sybase與DB2等。
一般輸入帳號密碼的網站的SQL語法 select * from member where UID =' "& request("ID") &" ' And Passwd =' "& request("Pwd") & " '
如果正常使用者帳號A123456789 ,密碼1234 select * from member where UID ='A123456789' And Passwd='1234'
輸入的帳號與密碼等資訊會取代ASP( or PHP、JSP)中的變數,並由兩個單引號(' ')所包住
select * from member where UID =' "& request("ID") &" ' And Passwd =' "& request("Pwd") & " '
若攻擊者已知系統中已有一個Admin的管理者帳號,則輸入Admin '-- ,即可不須輸入密碼而進入資料庫
select * from member where UID =' Admin '-- ' And Passwd =' '
註: -- 符號後的任何敘述都會被當作註解 (以上面為例,And子句將被SQL視為說明用)
一旦惡意使用者輸入 使用者帳號' or 1=1 --,密碼asdf1234(任意輸入) select * from member where UID =' ' or 1=1 -- ' And Passwd = 'asdf1234'
一旦惡意使用者輸入 使用者帳號abcdefg (任意輸入) , 密碼asdf (任意輸入) ' or 1=1 -- select * from member where UID =' abcdefg ' And Passwd = ' asdf ' or 1=1 -- '
如何防範SQL Injection
網頁程式撰寫方面
過濾輸入條件中可能隱含的sql指令,如INSERT、SELECT、UPDATE等
針對輸入條件進行規範,如無必要,應規範為僅可接受大小寫英文字母與數字等
針對特殊的查詢參數進行過濾,如--、 ' 等可利用replace(xx, " ' ", " ' ' ")進行替換
進行程式寫作時,應時常檢查程式是否存在有非預期輸入資料的漏洞。
網站伺服器方面
定期修補作業系統與網站伺服器的漏洞
避免ASP、PHP與JSP程式源碼洩漏,造成使用者可以直接瀏覽
更改預設的網站虛擬路徑,如IIS系統不要使用預設的C:\Inetpub\WWWRoot\的目錄
不提供錯誤訊息給使用者
攻擊者可藉由回報的錯誤訊息得知資料庫的結構
建議將錯誤輸入重導到適當網頁
修改C:\WINNT\Help\iisHelp\common\500-100.asp的預設錯誤網頁
參考資料
The Open Web Application Security Project http://www.owasp.org/asac/input_validation/sql.shtml
新波科技http://www.diamondinfotech.com.tw/
精誠公司安全通報http://www.sysware.com.tw/news/press/020424.shtml
台灣微軟公司關於SQL Injection的相關報導
http://www.microsoft.com/taiwan/sql/SQL_Injection.htm
http://www.microsoft.com/taiwan/sql/SQL_Injection_G1.htm
SQL Server電子雜誌http://www.sqlserver.com.tw/
本文来自:http://211.147.7.146:88/zkbbs/new/book/sql/SqlInjection.files/frame.htm
相关阅读
Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
-
热门文章
360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3
最新文章
微信3.6.0测试版更新了微信支付漏洞会造成哪
360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗
人气排行
xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本
查看所有0条评论>>