用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

基于SOAP的Web服务攻击及防范

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:51:34
们程序是如何利用uid和password进行用户认证的。它将认证信息传给ProductInfo.ProductDBAccess.VerifyAuthentication(String uid,String Password)方法。我们在uid参数中加入的单引号直接造成了语法错误,可以看出程序并没有进行词法检查。通过从服务器返回的查询表达式的部分,我们能生成一个SQL欺骗过口令验证。生成的SQL应该是类似于Select something from sometable where userid=’551-457-4487’ and password=’’or 1=1 or password=’’,这样的参数就能骗过服务器的身份验证。。
2.2 攻击步骤2——进行SQL欺骗


图5 实验4(输入SQL欺骗参数及服务器返回的结果)

从服务器返回的结果,我们做的SQL欺骗获得了服务器的信任。我们没有输入认证密码就得到了产品数据。
同样的道理,我们将’or’’=’作为用户的uid, ‘or providerid=’787-457-1154 作为providerid进行SQL欺骗。787-457-1154是我们事先知道的用户id。那么生成的SQL语句是:select something from sometable where uid=’’ or’’=’’ and password=’’ or providerid=’787-457-1154’。服务将接收我们的SQL,返回我们想
窃取的用户信息。
图6 实验5(用户名及口令欺骗及服务器返回的结果)
3、 防范Web服务攻击
保护Web服务不被攻击需要开发人员、系统管理员和管理人员的协作。黑客们会不断地改变他们的攻击方法,所以我们需要一个完善的安全的Web应用。
防范Web服务攻击最有效的方法就是进行输入参数与返回结果的验证和检查。
在参数传给服务器之前,任何可能引起不安全因素的字符或字符串都要进行处理。去除引号,反斜线等等还不足够,最好的方法是指定一种拒绝错误的规则来过滤掉不安全的数据,包括语法和逻辑检查等等。
应用程序同样要对返回给用户的数据进行确认。同样包括SOAP中的类型检查,逻辑检查以及确保返回的对象中包含的数据没有不安全的东西。另外,程序还要确保格式的有效性,使用统一的错误报告而不是默认的错误报告,默认的错误报告通常会告诉用户太多的信息。

4、结束语
随着Web Services的越来越流行,Web Service的安全性也越来越重要。分析可能产生攻击和欺骗的手段,能更好地使我们及时采取措施来防止此类恶性攻击和欺骗所带来的严重后果。

上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:3,687.50000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号