爱测未来安全-前端性能测试平台及应用

1 前引知识

1.1 Padding oracleattack是什么

   在2011年的Pwnierewards中,ASP.NET的这个漏洞被评为最具价值的服务器漏洞。

   它是加密算法中的CBC Mode加密方式,如果满足攻击条件,那么利用Padding Oracle能够在不知道密钥的情况下,解密任意密文,或者构造出任意明文的合法密文。

1.2 Padding Oracle Attack攻击的原理    

    密文采用的是”ASCII十六进制的表示方法”或者也可以采用“base64编码方法”。这种表示方式是保证在网络上传输的正确而不受不同系统间编码方案的影响。采用的是分组算法。

    我们重点关注的是最后一个分组的解密结果,如图所示:



到最后一个分组的末尾的数值为0×04,即表示填充了4个Padding。如果最后的Padding不正确(值和数量不一致),则解密程序往往会抛出异常(Padding Error)。而利用应用的错误回显,我们就可以判断出Paddig是否正确。

2 Padding oracle attack攻击实例

   以某外国网站为例,首先查看源代码发现存在 WebResource.axd 和 ScriptResource.axd 这两个文件。




    我们使用自动化工具padbuster,我们使用如下命令来获取我们想读取的文件的密文。




 这里产生的密文就是加密后的 web.config 和一些填充的字符串组成的,因为此时我们不知道密钥的值,生成出加密后的 web.config 的字符串。




 利用如下命令:




经过一段时间,我们在跑出的数据中发现有一个返回的 Content-Length 与众不同




查看其log文件,发现的确是 web.config 的内容。



3 防御方法

   Padding Oracle Attack的关键在于攻击者能够获知解密的结果是否符合Padding。在实现和使用CBC模式的分组加密算法时。比如可以加上try catch机制。


还没看过瘾吗?!留言你想要了解的哪方面的测试技术,爱测未来团队会为你精心讲解。

喜欢我们请关注我们的公众号,各种测试技术在等着你哟!(下方有惊喜)

公众号:itest_forever


优快云:http://blog.youkuaiyun.com/itest_2016

QQ群:274166295(爱测未来2群)、610934609(爱测未来3群)


爱测未来合肥测试技术嘉年华第三届正在火热报名!!!

会场地址:合肥市望江西路666号科大讯飞语音产业基地A1#201会场

时间:2017.07.08(时间暂定)

在线报名表:https://www.sojump.hk/jq/14382135.aspx

技术嘉年华官网:http://itest.iflytek.com/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值