基于SOAP的Web服务攻击及防范
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的安全性也越来越重要。分析可能产生攻击和欺骗的手段,能更好地使我们及时采取措施来防止此类恶性攻击和欺骗所带来的严重后果。
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论