(CTF 출제)DreamHack - Flying Chars

2024. 5. 2. 10:03·DreamHack/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' 식에 따른다는 것이다.

 

이 부분을 조작하면..

 

 

플래그 값 일부

 

 

 

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

 

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

 

'DreamHack > 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
'DreamHack/CTF' 카테고리의 다른 글
  • (CTF 출제)DreamHack - broken-png
  • (CTF 출제)DreamHack - funjs
  • (CTF 출제)DreamHack - Easy Login
  • (CTF 출제)DreamHack - Mango
G_OM
G_OM
최대한 설명 열심히 하려고 합니다. 궁금한 거 있으면 언제든지 물어보셔도 좋습니다.
  • G_OM
    끄적끄적
    G_OM
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • 모의해킹 (7)
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
        • CTF (22)
      • Android_security (5)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

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

  • 공지사항

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

  • 태그

    url encode
    overthewire
    Linux wargame
    정보보안기사
    난독화
    bandit20
    bandit17
    Dreamhack
    워게임
    Linux
    CTF
    insecurebankv2
    drozer
    wargame
    Android
    php
    webhacking
    php wrapper
    union
    리눅스
    cookies
    sql injection
    안드로이드
    webhacking.kr
    bandit30
    bandit18
    lfi
    bandit
    Cookie
    리눅스 워게임
  • 최근 댓글

  • 최근 글

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

티스토리툴바