内部分享,以 AngularJS
为例讲了一些 MVVM 框架中可能出现的问题,主要参考 Securing AngularJS Applications。
(看不到的请翻墙并刷新页面,或移步 SlideShare)
内部分享,以 AngularJS
为例讲了一些 MVVM 框架中可能出现的问题,主要参考 Securing AngularJS Applications。
(看不到的请翻墙并刷新页面,或移步 SlideShare)
© 2024 | Powered By 岚光 | Theme By Jimmy | Hosted By fly.io
谢谢你的分享,最近在学习AngularJS的安全,给了我较大的帮助。
此外你的PPT很好看,审美很棒,蓝白相间和极简。
客气~ 其实 PPT 模版是用的 P 牛之前用过的一个 2333
嗨,岚光。
我想建议你的总结里可以把angularJS的DOM型的XSS问题加进去就完美了。
http://blog.portswigger.net/2017/05/dom-based-angularjs-sandbox-escapes.html
https://www.synopsys.com/blogs/software-security/angularjs-1-6-0-sandbox/
https://portswigger.net/knowledgebase/papers/DOMAngularSandboxEscapes.pdf
此外,再加上攻击案例,会更全面,比如:
http://blog.portswigger.net/2016/04/adapting-angularjs-payloads-to-exploit.html
http://loner.fm/bugs/bug_detail.php?wybug_id=wooyun-2016-0190247
http://www.freebuf.com/vuls/125932.html
https://ryhanson.com/stealing-session-tokens-on-plunker-with-an-angular-expression-injection/
peace~
我觉得 AngularJS 的 DOM based XSS 其实和普通的 XSS 利用方式是一样的,只是关键在绕过它自带的沙箱。
之前我已经翻译过 AngularJS 沙箱绕过的文章(https://0x0d.im/archives/client-side-template-injection-with-angularjs.html),所以 Slide 里就没有太多涉及。
另外这个 Slide 最初是用来给前端开发和 QA 做培训的,所以没有加攻击案例,之后会考虑加上。
谢谢反馈~
噢,对了这里还有一个youtobe上讲解如何逃逸angularJS沙箱up主制作的demo:
http://liveoverflow.com/angularjs/
还有就是安全人员想快速入门angularJS,可以选择下面两个推荐来学习,快速实例化:
http://www.runoob.com/angularjs/angularjs-reference.html
http://www.techstrikers.com/AngularJS/index.php
最后就是工具推荐,只能说,不仅完美,只能检测反射型这样的(添加angularJS沙箱逃逸payload即可):
https://github.com/bugbountyforum/XSS-Radar
https://0kee.360.cn/domXss/
目前我的最大问题还是无法将知识点用于angularJS的项目上。
关于检查 AngularJS 的 CSTI 漏洞我看到有个工具(https://github.com/tijme/angularjs-csti-scanner),不知效果如何。
lijiejie 发的那个洞应该是本来想找 SSTI 的结果刚好找到了类似的 CSTI = =!
其实对于开发来说,按照文档来写代码一般就不会有问题,StackOverflow 上一些答案或许可以解决难题,但往往会引入新的安全隐患。
对于攻击者来说,找 AngularJS 的漏洞和找普通 XSS 的方法也差不多,当然 Payload 要换一换。
我也没有用 AngularJS 开发过正经的项目,所以有些纸上谈兵的感觉,如果有新的发现欢迎交流~
关于acstis,由于公司环境问题,无法直接pip,本以为花了一个小时,离线安装提示缺啥补啥,但是一个上午了,各种依赖包依赖再依赖,彻底崩溃。
你有使用过吗?我看了代码,估计也是检测反射型的,如果是这样那就没什么优势了,我的项目没有太多URL,是前端嵌套模板引用api接口返回的数据展示。
我想把提到的危险实现方法实例化,做成一套demo,展示给开发或测试人员看,这么用是会出问题的。
谢谢你的回复。
那个工具没试过,看描述应该只是在 URL 里插 Payload。
至于 Demo 我在写 Slide 的时候随手写了几个用来测试,没有整合起来做漏洞演示环境。
不过说起来根据培训反馈来看开发和 QA 其实更希望看到真实的演示,怪我太懒 Orz
噢,对了,我刚才发现,既然是burp实验室发现的angularJS模板注入的bug,那他家的burpsuite也可以扫出来的。
刚才做了个demo,用burp的scanner扫了,是可以扫出来的,bug全称“Client-side template injection”。