关于获取受httponly属性保护的cookie的思考
作者:互联网
以前在面试过程中有被遇到过这个问题,当时也是答的模棱两可,后面参考了网上的文章进行一些简单的整理和思考。
- httponly的作用
如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,主要影响就是XSS攻击中无法通过document对象直接获取到cookie。
- 如何绕过
首先需要明确的是,因为无法通过js脚本获得cookie信息,经过自己的简单总结,我们可以从以下方面下手:
- 敏感信息泄露
因为无法使用js脚本获取到带httponly属性的cookie,那会不会前端本身泄露了这个受保护的cookie,这种情况有可能是存在的,比如 https://www.secpulse.com/archives/35877.html一文中提到的,XSS常见利用手段是劫持用户cookie并登陆其账户,但添加了http-only标记的cookie客户端脚本无法读取,该项技术已经成为减小XSS带来的危害的重要手段。有时候程序员直接将受http-only保护的cookie写入页面,导致通过利用crossdoamin.xml配置不当等漏洞,攻击者可以轻松跨域读取到受保护的cookie:
2. 配置错误
有一种很少出现的情况就是,当开发在给cookie设置httponly属性时,可能只给一个非关键的cookie键值设置了httponly属性,关键的cookie却没有设置(当然这种情况很少),还有一种情况就是共享cookie的时候httponly设置不全,有事后某些企业的网站服务需要相互协调,为了保证用户体验往往会共享cookie,不用多次登录,某一个或者几个网站存在类似XSS等漏洞,并且cookie没有设置httponly的时候就会导致Cookie被盗取。
3. 系统或应用程序漏洞
比如低版本呢apache的漏洞CVE-2012-0053,通过发送超长Cookie,可以获取到httponly 保护下的Cookie:
3. 设计问题
设计问题这里并不是说设计的有直接的安全问题,而是有安全隐患:
phpinfo:
Django调适信息(参照余弦的书 web前段黑客技术揭秘);
Http Trace方法:也叫XST技术,利用HTTP Trace方法,这个方法会返回我们之前发送的请求包的具体内容。现在已经在主流浏览器和服务器中被禁止使用
显错机制:在渗透测试过程中经常会遇到在URL中添加一个特殊字符,会爆路径,有些程序也会同时爆出请求包的内容,其中可能就包含了Cookie,还有一些WAF会将恶意请求拦截,并且将请求内容放置在页面中提醒我们,此时如果包含Cookie信息,也是可以直接利用的。
目前就只到想这些,虽然实用性不大,但是还是带给我们一些思考。
over~
标签:XSS,Cookie,设置,cookie,httponly,属性 来源: https://www.cnblogs.com/Rakjong/p/10600951.html