(CTF 출제)DreamHack - Flying Chars

2024. 5. 2. 10:03·CTF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제화면을 보면 문자들이 날아다닌다.

 

문제파일은 없으니 소스코드를 보도록 하자.

 

 

 

 

 

 

 

 

    const img_files = ["/static/images/10.png", "/static/images/17.png", "/static/images/13.png", "/static/images/7.png","/static/images/16.png", "/static/images/8.png", "/static/images/14.png", "/static/images/2.png", "/static/images/9.png", "/static/images/5.png", "/static/images/11.png", "/static/images/6.png", "/static/images/12.png", "/static/images/3.png", "/static/images/0.png", "/static/images/19.png", "/static/images/4.png", "/static/images/15.png", "/static/images/18.png", "/static/images/1.png"];
    var imgs = [];
    for (var i = 0; i < img_files.length; i++){
      imgs[i] = document.createElement('img');
      imgs[i].src = img_files[i]; 
      imgs[i].style.display = 'block';
      imgs[i].style.width = '50px';
      imgs[i].style.height = '50px';
      document.getElementById('box').appendChild(imgs[i]);
    }

    const max_pos = self.innerWidth;
    function anim(elem, pos, dis){
      function move() {
        pos += dis;
        if (pos > max_pos) {
          pos = 0;
        }
        elem.style.transform = `translateX(${pos}px)`;
        requestAnimationFrame(move);
      }
      move();
    }

    for(var i = 0; i < 20; i++){
      anim(imgs[i], 0, Math.random()*60+20);
    }

 

이미지 안에 문자들이 담겨 있고 이미지에 대한 크기, 움직이게 하는 함수, 그것에 대한 애니메이션 효과를 반복문이 있다.

 

 

 

 

 

 

 

 

for(var i = 0; i < 20; i++){
  anim(imgs[i], 0, Math.random()*60+20);
}

 

 

일단 정신 사나우니까 이미지를 움직이는 반복문 안에 있는 'anim' 함수를 조작하여 멈춰보자.

 

anim 함수는 'anim(elem, pos, dis)' 방식으로 사용하며 각 순서에 따라 [이동시킬 이미지, 이미지의 초기 위치, 이미지가 한 번에 이동하는 거리]를 정한다.

 

따라서 이동하는 거리가 'Math.random()*60+20' 식에 따른다는 것이다.

 

이 부분을 조작하면..

 

 

플래그 값 일부

 

 

 

이렇게 움직이지 않게 만들 수 있다.

 

힌트에 따라서 플래그 값을 제출하면 문제가 풀린다.

 

'CTF' 카테고리의 다른 글

(CTF 출제)DreamHack - broken-png  (0) 2024.05.08
(CTF 출제)DreamHack - funjs  (1) 2024.05.03
(CTF 출제)DreamHack - Easy Login  (1) 2024.05.01
(CTF 출제)DreamHack - Mango  (0) 2024.04.30
(CTF 출제)DreamHack - Carve Party (수정)  (0) 2024.04.05
'CTF' 카테고리의 다른 글
  • (CTF 출제)DreamHack - broken-png
  • (CTF 출제)DreamHack - funjs
  • (CTF 출제)DreamHack - Easy Login
  • (CTF 출제)DreamHack - Mango
G_OM
G_OM
최대한 설명 열심히 하려고 합니다. 궁금한 거 있으면 언제든지 물어보셔도 좋습니다.
  • G_OM
    끄적끄적
    G_OM
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • 모의해킹 (18)
      • CTF (22)
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
      • Mobile_security (13)
        • Drozer_Android (4)
        • Frida_Android (1)
        • IOS (1)
        • tool (1)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

    • DreamHack 에 대한 문제들...
  • 인기 글

  • 태그

    lfi
    sql injection
    난독화
    url encode
    overthewire
    모의해킹
    bandit20
    Dreamhack
    CTF
    정보보안기사
    bandit18
    php wrapper
    drozer
    insecurebankv2
    wargame
    php
    bandit
    워게임
    Linux wargame
    Linux
    webhacking
    Frida
    webhacking.kr
    리눅스
    cookies
    OSINT
    bandit30
    리눅스 워게임
    bandit17
    Android
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
G_OM
(CTF 출제)DreamHack - Flying Chars
상단으로

티스토리툴바