알맹이방
Web hacking 16 본문
Web hacking 16
소스코드
<body bgcolor="black" onload="kk(1,1)" onkeypress="mv(event.keyCode)">
<font color="silver" id="c"></font>
<font color="yellow" size="100" style="position:relative" id="star">*</font>
<script>
document.body.innerHTML+="<font color=yellow id=aa style=position:relative;left:0;top:0>*</font>";
function mv(cd)
{
kk(star.style.posLeft-50,star.style.posTop-50);
if(cd==100) star.style.posLeft=star.style.posLeft+50;
if(cd==97) star.style.posLeft=star.style.posLeft-50;
if(cd==119) star.style.posTop=star.style.posTop-50;
if(cd==115) star.style.posTop=star.style.posTop+50;
if(cd==124) location.href=String.fromCharCode(cd);
}
function kk(x,y)
{
rndc=Math.floor(Math.random()*9000000);
document.body.innerHTML+="<font color=#"+rndc+" id=aa style=position:relative;left:"+x+";top:"+y+" onmouseover=this.innerHTML=''>*</font>";
}
</script><font color="yellow" id="aa" style="position:relative;left:0;top:0">*</font>
<font color="#6267085" id="aa" style="position:relative;left:1;top:1" onmouseover="this.innerHTML=''"></font></body>
하나하나 읽어보자
<body bgcolor="black" onload="kk(1,1)" onkeypress="mv(event.keyCode)">
bgcolor (back ground color) = "black" --> 배경 색은 black으로 덮는다
onload="kk(1,1)" --> body 스크립트가 모두 구현, 실행된 후 onload 실행.
onkeypress"mv(event.keyCode)" --> onkeypress는 사용자가 키보드로 무언가를 눌렀을 때 event를 발생시키는 명령어이다. 무언가를 눌렀을 때 mv 함수가 실행되는 것이다. event.keyCode로 사용자가 누른 키의 값을 반환한다.
그아래 코드들은 그냥 * 을 출력하는 내용들인 것 같습니다.
function mv(cd)
{
kk(star.style.posLeft-50,star.style.posTop-50);
if(cd==100) star.style.posLeft=star.style.posLeft+50;
if(cd==97) star.style.posLeft=star.style.posLeft-50;
if(cd==119) star.style.posTop=star.style.posTop-50;
if(cd==115) star.style.posTop=star.style.posTop+50;
if(cd==124) location.href=String.fromCharCode(cd);
}
mv라는 이름의 함수를 지정한 것 같다. 그런데 내용을 보니까
cd==124일 때만 실행 명령어가 다른다.
나머지 내용을 보면 star style 어쩌구인 것을 보니 별을 이동시키는 명령어인 것 같은데
왜 내가 입력하면 이동은 안 되고 추가가 되는지 모르겠다.
cd==124는 location.href=String.fromCharCode(cd); 이다.
location.href는 해당 주소로 페이지를 이동시키는 함수이다.
String.fromCharCode는 입력받은 값을 해당 유니코드로 변환시켜주는 함수이다. 124는 ascii코드로 해석해보면 |가 나온다
그러니까
cd가 124면 location 함수로 인해 |라는 주소를 가진 페이지로 이동이 된다는 소리이다.
그럼 |를 입력해보자.
#비밀번호 주의#
이렇게 페이지가 이동되면서 패스워드가 적힌 페이지가 나왔다.
Auth에 넣고 제출했더니 16번이 풀렸다!!
http://hackingboy.tistory.com/64
'SISS (2017-2018) > 웹해킹(순서대로X)' 카테고리의 다른 글
Web hacking 18 (0) | 2018.04.29 |
---|---|
Web hacking 17 (0) | 2018.04.10 |
Web hacking 04 (0) | 2018.04.03 |
Web hacking 15 (0) | 2018.03.29 |
Web hacking 06 (0) | 2018.03.27 |