티스토리 뷰

해킹/웹해킹

4주차 과제 2_워게임 풀이

코코딩딩 2020. 11. 22. 20:23

1) webhacking.kr old-6

 if 문의 조건에 맞게 하면 이번 문제가 풀림을 알 수 있다. 따라서 적절하게 user과 password 쿠키 값을 설정해줘야 했다. 적절한 값을 알아내기 위해서 다음와 같은 코드를 통해 구해보았다. 

<?php
$val_id="admin";
$val_pw="nimda";

for($i=0;$i<20;$i++){
  $val_id=base64_encode($val_id);
  $val_pw=base64_encode($val_pw);
}

$val_id=str_replace("1","!",$val_id);
$val_id=str_replace("2","@",$val_id);
$val_id=str_replace("3","$",$val_id);
$val_id=str_replace("4","^",$val_id);
$val_id=str_replace("5","&",$val_id);
$val_id=str_replace("6","*",$val_id);
$val_id=str_replace("7","(",$val_id);
$val_id=str_replace("8",")",$val_id);

$val_pw=str_replace("1","!",$val_pw);
$val_pw=str_replace("2","@",$val_pw);
$val_pw=str_replace("3","$",$val_pw);
$val_pw=str_replace("4","^",$val_pw);
$val_pw=str_replace("5","&",$val_pw);
$val_pw=str_replace("6","*",$val_pw);
$val_pw=str_replace("7","(",$val_pw);
$val_pw=str_replace("8",")",$val_pw);

echo "{$val_id}<br/>{$val_pw}";
?>

 화면에 나온 값을 통해서 쿠키를 변조시킴으로써 해결할 수 있었다.

쿠키 변조시킨 사진과 문제 해결한 상태의 사진

2) webhacking.kr old-33

33-1

 코드를 보면 if 문 조건을 만족시키면 문제가 해결됨을 알 수 있다. 따라서 url 뒤에 ?get=hehe 를 써줌으로써 해결할 수 있었다.

 

해결 전의 상태와 해결 후의 상태

33-2

  코드를 보면 if 문을 만족시키면 문제가 풀림을 알 수 있다. 따라서 POST 방식으로 입력받기 위해 코드를 추가해줌으로써 해결할 수 있었다.

POST 방식으로 입력받기 위해 추가해준 코드와 그 코드의 결과
해결 전의 상태와 해결 후의 상태

33-3

 코드를 보면 get 방식으로 적절한 값을 입력시켜주면 문제를 해결할 수 있음을 알 수 있었다.  $_SERVER['REMOTE_ADDR'] 는 웹서버에 접속한 접속자의 IP정보를 나타내기 때문에, url 뒤에 ?myip=(ip정보) 를 작성해줌으로써 해결했다.

 

해결 전의 상태와 해결 후의 상태

33-4

 

 코드를 보면 get 방식으로 적절한 값을 대입함으로써 해결할 수 있음을 알 수 있다. md5()는 문자열에서 md5 해시값을 생성하는 함수이다. 따라서 time()값을 넣어서 어떠한 값을 변환시켜주는 것이라고 생각이 되었다. 조금 미래의 시간을 미리 넣어서 md5(time())을 구해서 url 뒤에 ?password=해당 md5(time())의 값 을 써줌으로써 문제를 해결할 수 있었다.

아래 사진의 힌트의 값은 그 때의 time()을 알려준 것이다.

해결 전의 상태와 해결 후의 상태

33-5

 코드를 보면 if 문의 조건이 참이면 문제가 해결됨을 알 수 있다. 따라서 imget과 impost, imcookie의 값이 참이 되도록 모두 1을 넣어줌으로써 해결할 수 있었다. 우선 url 뒤에 ?imget=1 을 써주었고, post 방식으로 impost 값을 설정하도록 코드를 입력하였고, imcookie를 추가시킴으로써 해결하였다. (밑에 코드에 methoe라고 잘못 적은 걸 캡쳐했나 보다.. method이다.)

POST 방식으로 입력받기 위해 추가해준 코드와 imcookie 추가하는 과정
해결 전의 상태와 해결 후의 상태

33-6

주어진 코드

 주어진 코드를 보면 적절한 값의 test 쿠키를 추가하고, post 방식으로 kk에 어떠한 값을 입력해주면 문제가 해결됨을 알 수 있다. $_SERVER['REMOTE_ADDR']는 웹서버에 접속한 접속자의 IP정보를 나타내고, $_SERVER['HTTP_USER_AGENT']는 사용자의 웹접속환경 정보를 담고 있는 것이다. 따라서 이 값을 md5 함수에 넣어서 적절한 값을 구하고 넣어줌으로써 문제를 해결하였다.

POST 방식으로 입력받기 위해 추가해준 코드와 test 추가하는 과정
해결 전의 상태와 해결 후의 상태

33-7

주어진 코드와 해결 후의 상태

 코드를 보면 get 방식으로 특정 이름의 변수에 그 특정 값을 넣어줌으로써 문제를 해결할 수 있음을 알 수 있다. 특정 이름과 그의 값은, 웹서버에 접속한 접속자의 IP정보에서 .을 뺀 것임을 알 수 있다. 따라서 url 뒤에 ?(접속자의 IP정보에서 .을 뺀 것)=(접속자의 IP정보에서 .을 뺀 것) 을 써줌으로써 문제를 해결할 수 있었다.

 

33-8

주어진 코드와 해결 후의 상태

 코드를 보면 url 뒤에 ?addr=127.0.0.1 을 써줌으로써 해결됨을 알 수 있다.

 

33-9

주어진 코드와 해결 후의 사진

 주어진 코드를 보면 if 문의 조건을 만족시키면 해결됨을 알 수 있다. 

<?php
for($i=97;$i<=122;$i=$i+2){
  $answer.=chr($i);
}
echo $answer;
?>

 위의 코드를 실행시켜서 $answer의 값이 acegikmoqsuwy임을 알 수 있었다. 따라서 url 뒤에 ?ans=acegikmoqsuwy 를써줌으로써 문제를 해결할 수 있었다.

 

33-10

주어진 코드

 코드를 보면 answerip/{$answer}_{$ip}.php 파일을 열면 문제를 해결할 수 있음을 알 수 있었다. 따라서 코드를 실행함을 통해 answer의 값을 구하여서, 해당 파일을 열어줌을 통해 문제를 해결할 수 있었다.

 

최종적으로 해결한 모습

 

 

참고 : 첫 번째 문제 https://webhacking.kr/challenge/web-06/?view_source=1

        두 번째 문제 https://webhacking.kr/challenge/bonus-6/

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함