我目前正在执行ASP.NET应用程序的渗透测试并试图利用Padding Oracle Attack。这个AFAIK基于响应代码分析,但是被测系统的ScriptResource和WebResource都会响应200 OK,即使密码无效。但是,在这种情况下,响应的内容是一个空字符串。
在这种情况下,是否可以使用任何axd作为oracle?也许基于响应内容的差异。
答案 0 :(得分:3)
Padding Oracle Attack的工作原理是能够区分两种情况:
攻击者可能有多种方法可以获得这样的区别。来自服务器的特定错误代码是最容易利用的;但任何可检测到的差异就足够了。攻击是第一次published in 2002(是的,人们需要花费8年的时间才能注意到它可以应用于ASP!)并且已经在仅具有时序差异的SSL连接上进行了演示 :服务器正在解密数据,然后只有在解密完成时才验证MAC; MAC计算所花费的额外2ms足以让攻击者知道填充是否有效,允许直接应用Padding Oracle Attack。
答案 1 :(得分:1)
要回答原始问题,可以使用内容长度。 Padbuster注意到状态代码,但我认为它完全取决于响应长度。
要回答您对Troy的回复,长密文长度并不表示他们容易受到攻击。通常,短密文长度确实表明它们是易受攻击的,但是您需要对网络网址进行解码,然后查看模数8 = 0以查看它是否容易受到攻击。换句话说,长度将是8的倍数。通常我会看到一个密文块(16个字节)一旦它的网络网址编码就会结束大约25个字节。该修复包括一个HMAC(我认为),它扩展了长度,并且应该使一个块cipertexts不可能。我不能肯定地说这个,因为我不确定HMAC是多长时间以及填充后是否有效。
答案 2 :(得分:0)
听起来像是填充oracle补丁可能已经安装,因此你没有得到你期望的错误代码。看看Do you trust your hosting provider and have they really installed the padding oracle patch,看看你是否可以建立这个。