webhacking/client

webhacking.kr 12번

qkqhxla1 2014. 8. 31. 13:51




크롬 개발자도구에 eval로 실행하는 부분만 빼고 돌려보면 저렇게 나옴.


대충 소스 살펴보면 아래의 if 내부의 ck가 뒤의 복잡한 부분이 맞으면 alert으로 답을 출력해주는거같음.


ck는 url의 =의 위치.



뒷부분만 추려서 document.write로 화면에 출력해보면 =youaregod~~~~~~~!


출력. ck(url에서 =의 위치)와 저 문자열이 같아야 하므로 뒤에 =youaregod~~~~~~~!를 붙여주면


통과


******


파이썬으로 위의 악성코드 생성기를 구현해보았음.(심심해서)


javascript = "alert('xss!');"
strs = """<script>
wtf=String.fromCharCode("""
for i in range(0,len(javascript)):
    strs += str(ord(javascript[i]))
    if i==len(javascript)-1:
        break;
    strs += ','
strs += """);
eval(wtf);
</script>"""

print strs

돌려보면


<script>

wtf=String.fromCharCode(97,108,101,114,116,40,39,120,115,115,33,39,41,59);

eval(wtf);

</script>


로 잘 생성됨. 제대로 동작도 함..

'webhacking > client' 카테고리의 다른 글

wargame.kr QR CODE PUZZLE  (1) 2014.09.28
codeshell.kr readonly  (0) 2014.09.24
webhacking.kr 5번  (0) 2014.08.19
webhacking.kr 12번  (0) 2014.08.15
webhacking.kr 1번.  (0) 2014.08.11