본문 바로가기

webhacking.kr

old-06

1  <?php
2  include "../../config.php";
3  if($_GET['view_source']) view_source();
4  if(!$_COOKIE['user']){
5    $val_id="guest";
6    $val_pw="123qwe";
7    for($i=0;$i<20;$i++){    // id와 pw를 base64 인코딩을 20번 반복한다
8      $val_id=base64_encode($val_id);
9      $val_pw=base64_encode($val_pw);
10    }
11    $val_id=str_replace("1","!",$val_id);    // str_replace(변경대상, 변경문자, 바꾸자 하는 문자열)
12    $val_id=str_replace("2","@",$val_id);
13    $val_id=str_replace("3","$",$val_id);
14    $val_id=str_replace("4","^",$val_id);
15    $val_id=str_replace("5","&",$val_id);
16    $val_id=str_replace("6","*",$val_id);
17    $val_id=str_replace("7","(",$val_id);
18    $val_id=str_replace("8",")",$val_id);
19
20    $val_pw=str_replace("1","!",$val_pw);
21    $val_pw=str_replace("2","@",$val_pw);
22    $val_pw=str_replace("3","$",$val_pw);
23    $val_pw=str_replace("4","^",$val_pw);
24    $val_pw=str_replace("5","&",$val_pw);
25    $val_pw=str_replace("6","*",$val_pw);
26    $val_pw=str_replace("7","(",$val_pw);
27    $val_pw=str_replace("8",")",$val_pw);
28
29  }
30  ?>

32 if($decode_id=="admin" && $decode_pw=="nimda"){
33   solve(6);
43 }

코드를 친절히 설명했다 ^^

 

그래도 모르시겠다면 구글에....

 

우리의 목표는 쿠키를 확인해 decode_id 가 admin decode_pw 가 nimda 가 나와야 풀린다

 

밑에 또 다른 php 코드가 decode하는 코드이므로

 

우리는 admin 과 nimda를 encode 해야한다

 

파이썬의 도움을 받아서 encode 해보자

 

import base64

def change(e):
    result = e.replace("1","!")
    result = e.replace("2","@")
    result = e.replace("3","$")
    result = e.replace("4","^")
    result = e.replace("5","&")
    result = e.replace("6","*")
    result = e.replace("7","(")
    result = e.replace("8",")")
    return result

id = 'admin'
pw = 'nimda'

for i in range(0, 20):
    id = base64.urlsafe_b64encode(bytes(id, 'UTF-8')).decode("UTF-8")
    pw = base64.urlsafe_b64encode(bytes(pw, 'UTF-8')).decode("UTF-8")

print('id 최종 결과 : ' + change(id))
print('pw 최종 결과 : ' + change(pw))

 

나온 값을 쿠기에 붙여넣어주면 풀린다

'webhacking.kr' 카테고리의 다른 글

old-10  (0) 2021.08.10
old-07  (0) 2021.08.10
old-05  (0) 2021.08.09
old-03  (0) 2021.08.08
old-02  (0) 2021.08.07