본문 바로가기

정보보안/wargame12

[webhacking.kr] challenge(old). old-06 6번 문제에 처음 접근하게 되면 해당 페이지의 소스를 확인할 수 있는 view-source와 ID, PW를 확인할 수 있다. source를 확인해보면 위와같은 php와 html 코드를 확인할 수 있다. 우선 소스코드를 분석해 보면 include "../../config.php"; if($_GET['view_source']) view_source(); 처음 화면에서 view_sourece를 클릭하면 소스 페이지를 보여주는 부분이다. if(!$_COOKIE['user']){ $val_id="guest"; $val_pw="123qwe"; for($i=0;$i 2020. 2. 18.
[webhacking.kr] challenge(old). old-05 문제에 처음 접근하면 검은색 화면에 Login과 Join 버튼이 보인다. Login 버튼을 통해 로그인 화면에 접근하게 되면 아이디와 비밀번호를 통해 로그인을 할 수 있는 화면이 제공된다. 임의로 아무 아이디와 비밀번호를 입력하면 Wrong password라는 문구와 함께 다시 로그인 창이 등장한다. Join 버튼을 통해 회원가입을 진행하려고 하면 Access_Denied라는 알림창과 함께 아무런 변화도 일어나지 않는다. 따라서 우선 접근이 되는 Login 페이지에 대한 소스를 확인해 봤다. id와 password를 사용해 로그인하면 화면에 대한 정의만 있고 별다른 것은 발견할 수 없다. 어떻게 문제에 접근해야 할지 한참 고민하다가 url을 보니까 Login페이지는 login.php로 동작하고 있는 것을.. 2020. 2. 13.
[webhacking.kr] challenge(old). old-04 4번 문제에 처음 접근하게 되면 다음과 같은 화면이 나타나게 된다. password부분에 임의의 아무값이나 입력하게 되면 복잡하게 인코딩된 값이 변경되고 별다른 반응은 보이지 않는다. 따라서 view-source를 통해 해당 페이지의 소스코드를 확인해 봐야 할것 같다. view-source를 통해 확인한 해당 페이지의 소스코드는 다음과 같다. 페이지의 뷰를 설정하는 부분을 제외하고 문제를 해결하는데 필요한 코드를 해석해 보자 sleep(1); // anti brute force 해당 부분은 sleep함수로 코드실행을 함수에 입력한 초만큼 지연시킬수 있다. brute focre 공격에 대비하기 위해 사용했다고 주석으로 설명이 되어있다. if((isset($_SESSION['chall4'])) && ($_P.. 2020. 2. 6.
[webhacking.kr] challenge(old). old-03 3번 문제에 들어가게 되면 제일 처음 만나게 되는 화면이다. 아무거나 선택하고 눌러보면 굉장히 복잡한 url과 함께 No!라는 문구가 출력되고 다시 Nonogram으로 돌아가게 된다. 해당 페이지의 소스를 보게 되면 url에 보이는 _1, _2와 같은 값들이 보이고 해당 값을 1로 바꾸어서 보내보면 똑같이 No! 를 출력하는 것을 확인할 수 있다. 여기서 한참 고민했지만 그냥 해당 네모네모로직을 풀어서 solved로 제출하면 되는 것이었다. (내가 눌러서 검은색으로 변한 칸에 해당하는 변수의 값이 1로 변경되는 것이었다.) 해당 모습이 퍼즐을 푼 모습이고 해당 퍼즐을 풀게 되면 이와 같은 화면을 만날 수 있다. 이름을 입력하라고 해서 이름을 입력하게 되면 name에 내가 입력한 값이 출력되고 answer.. 2020. 1. 27.
[webhacking.kr] challenge(old). old-02 2번 문제에 들어가게 되면 다음과 같은 화면이 출력된다. 따로 들어갈 수 있는 링크 같은 것은 보이지 않고 텍스트만 존재하기 때문에 해당 페이지의 소스를 확인하자. 첫 번째 주석에 현재의 년, 월, 일 과 시간이 표현되어 있다. 두 번째 주석에 admin.php에 접근하면 엉덩이를 걷어차 버린다는 주석을 확인할 수 있다. 따라서 현재 페이지말고도 admin.php가 존재한다고 유추할 수 있다. 따라서 admin.php에 접근하기 위해 주소창에 웹서버의 web-02 디렉토리 안에 admin.php에 접속할 수 있도록 해보았다. 성공 적으로 admin.php에 접근이 되었다. admin.php에는 type your secret password라는 문구와 함께 패스워드를 제출할 수 있게 되어있다. 아무런 값을.. 2020. 1. 13.
[webhacking.kr] challenge(old). old-01 맨 처음 문제를 풀기 위해 접근하면 다음과 같은 화면이 보인다. 따로 홈페이지의 소스를 확인하면 특별한 게 있을 줄 알았으나 index와 heml에 특별한것은 보이지 않기 때문에 주어진 view-source를 통해 확인해보았다. 주어진 php 코드는 다음과 같았다. 위에서부터 해석해보자 if($_GET['view-source'] == 1){ view_source(); } view-source 변수에 1이라는 값이 있으면 view_source함수를 실행하는 부분으로 해석할 수 있다. SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/"); SetCookie 함수를 사용하여 매개변수로 ("쿠키 이름","쿠키 값",폐기시간,"경로")를 사용하므로 user.. 2020. 1. 13.