ブラウザのUIのバグを探す / Secusoba PopUnder

ブラウザのUIのバグを探す / Secusoba PopUnder

第40回セキュそば勉強会(http://secusoba.info/?%E7%AC%AC40%E5%9B%9E%2811%E6%9C%8825%E6%97%A5%29) で発表した資料です。

1a5bce24526a7d6f1ab89678df2d673c?s=128

Masato Kinugawa

November 26, 2017
Tweet

Transcript

  1. None
  2. None
  3. None
  4. • • •

  5. • •

  6. None
  7. • • newWin = window.open('//example.com/','w','a'); newWin.blur();//新しいウインドウのフォーカスを離す window.focus();//親にフォーカスを移す

  8. • •

  9. • https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w

  10. None
  11. None
  12. None
  13. None
  14. None
  15. confirm(1);

  16. prompt(1);

  17. print();

  18. //Basic認証

  19. //外部アプリを開くプロトコルへナビゲーション location = "mms:";

  20. onbeforeunload=function(e){return 1;} //どこかへ移動しようとするとダイアログ出現

  21. new PresentationRequest("").start();

  22. new PaymentRequest([{ supportedMethods: ['basic-card'] }], { total: { label: 1,

    amount: { currency: 'USD', value: 0 } } }).show();
  23. navigator.usb.requestDevice({filters:[]});

  24. <form> <input type="email" value="a"> <button id="button"> </form> <script> button.click(); </script>

  25. • • • • • •

  26. <script> function popUnder() { new PresentationRequest("").start(); window.open("https://example.com/", "_blank","a"); setTimeout(function(){ location.reload();//リロードでダイアログを消す

    },1000); } </script> <button onclick="popUnder()">Create PopUnder</button>
  27. None
  28. • • • • • • •

  29. • • • • •

  30. • •

  31. • • •

  32. None