티스토리 뷰
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 방식으로 입력받기 위해 코드를 추가해줌으로써 해결할 수 있었다.
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이다.)
33-6
주어진 코드를 보면 적절한 값의 test 쿠키를 추가하고, post 방식으로 kk에 어떠한 값을 입력해주면 문제가 해결됨을 알 수 있다. $_SERVER['REMOTE_ADDR']는 웹서버에 접속한 접속자의 IP정보를 나타내고, $_SERVER['HTTP_USER_AGENT']는 사용자의 웹접속환경 정보를 담고 있는 것이다. 따라서 이 값을 md5 함수에 넣어서 적절한 값을 구하고 넣어줌으로써 문제를 해결하였다.
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
'해킹 > 웹해킹' 카테고리의 다른 글
5주차 과제 2_XSS 관련 문제 풀이 (0) | 2020.11.30 |
---|---|
5주차 과제 1_XSS 강좌 정리 (0) | 2020.11.30 |
4주차 과제 1_PHP 정리 (0) | 2020.11.22 |
3주차 과제 2_워게임 풀이 (0) | 2020.11.16 |
3주차 과제 1_생활코딩 Javascript 정리 (0) | 2020.11.16 |