webhacking.kr - old 46

2024. 3. 29. 14:43·Wargame/Webhacking.kr

 

 

어디서 많이 본 문제인 거 같다.

 

저번에 푼 old-49 문제랑 똑같이 생겼다.

 

근데 이번에는 "money" 가 생겼다.

 

 

 

 

 

 

 

 

 

 

 

 

php 부분만 중점으로 보자.

 

 

 

 

 

 

 

 

 

<?php
  if($_GET['lv']){
    $db = dbconnect();
    $_GET['lv'] = addslashes($_GET['lv']);
    $_GET['lv'] = str_replace(" ","",$_GET['lv']);
    $_GET['lv'] = str_replace("/","",$_GET['lv']);
    $_GET['lv'] = str_replace("*","",$_GET['lv']);
    $_GET['lv'] = str_replace("%","",$_GET['lv']);
    if(preg_match("/select|0x|limit|cash/i",$_GET['lv'])) exit();
    $result = mysqli_fetch_array(mysqli_query($db,"select id,cash from chall46 where lv=$_GET[lv]"));
    if($result){
      echo("{$result['id']} information<br><br>money : {$result['cash']}");
      if($result['id'] == "admin") solve(46);
    }
  }
?>

 

 

똑같이 get 으로 lv 값을 받아들인다.

 

addslashes로 싱글쿼터를 막고 [이스케이프 처리]

 

str_replace로 [공백,/,*,%] 해당하는 것을 이스케이프 처리하는 거 같다.

 

필터링도 있다.

(select,limit,cash),(16진법) 에 대해서 걸러내는 거 같다.

 

그리고 select id,cash 를 보면 id, cash 열이 chall46 테이블에 있는 거 같다.

 

딱히 cash 가 중요한 열은 아닌거 같으니 id 열에 대해서만 집중했다.

 

 

 

 

 

 

 

 

 

 

 

 

https://webhacking.kr/challenge/web-23/?lv=5||id=char(97,100,109,105,110)

 

 

풀었던 문제에 거의 똑같이 쓴거 같다.

 

lv=5|| <- 여기까지는 old-49 해답과 똑같다. 

 

여기서 || 은 or 연산자와 동일한 기능을 하기에 바로  넘어갈 id가 작동되게 했다.

 

Hex 값이 막히니 아스키코드값으로 대체했다.

 

여기서 char는 SQL에서 아스키코드로 바꿔주는 함수이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Wargame > Webhacking.kr' 카테고리의 다른 글

webhacking.kr - old 34  (1) 2024.03.29
webhacking.kr - old 49  (1) 2024.03.29
webhacking.kr - old 61  (1) 2024.03.28
webhacking.kr - old 47  (0) 2024.03.28
webhacking.kr - old 36  (0) 2024.03.28
'Wargame/Webhacking.kr' 카테고리의 다른 글
  • webhacking.kr - old 34
  • webhacking.kr - old 49
  • webhacking.kr - old 61
  • webhacking.kr - old 47
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 에 대한 문제들...
  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
G_OM
webhacking.kr - old 46
상단으로

티스토리툴바