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

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

CSDN:http://blog.csdn.net/itest_2016

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


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

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

时间:2017.07.08(时间暂定)

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

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



相关文章:

  • 2021-11-30
  • 2021-12-05
  • 2021-12-06
  • 2022-01-08
  • 2021-12-16
  • 2021-08-27
  • 2021-12-05
猜你喜欢
  • 2021-07-06
  • 2021-08-16
  • 2021-11-27
  • 2021-12-31
  • 2022-12-23
  • 2021-10-15
  • 2021-09-19
相关资源
相似解决方案