| SQL Server 的工具程序
透过 SQL Server 所提供的一些工具程序可以直接将资料表的内容输出成档案,例如透过 bcp 的 out 参数,将储存会员资料的资料表整个输出成档案,范例如下:
bcp northwind.dbo.tblUser out C:\inetput\wwwroot\sqlinject\user.txt -c -Usa -P -SByron-XP
当然,isql.exe 和 osql.exe 也都可以办到同样的功能,例如:
osql -Usa -P -SByron-XP -dNorthwind -oc:\inetpub\wwwroot\sqlinject\users.txt -Q"select * from tblUser"
这一类的工具程序可以搭配前文的 xp_cmdshell 延伸预存程序,或是交由利用 sp_OA 系列预存程序建立的木马 ASP 来执行,都可以达到窃取资料的目的。
对于预防 SQL Injection 的建议
综合以上各种的侵入技巧,笔者在此归纳一些维护系统安全的建议。
- 尽量地利用 ASP 或 ASP.NET 在服务器端检查与限制输入变量的型别与长度,过滤掉不需要的内容。要注意的是这些检查不要放在前端。
就算在前端利用 HTML Input 卷标的 MaxLength 属性,或是以 JScript 撰写程序来设定字段长度的限制,只要将该网页另存新档,修改内容后(一般只要改写 Form 的 Action 属性以及 Input 的 MaxLength 属性),重新以浏览器开启再执行便可避过这些浏览器端的检查。
- ASP 程序登入 SQL Server 的帐号不要使用 sa,或任何属于 Sysadmin 群组的帐号,避免有过大的权限。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] 下一页 |