프로젝트 44

[Webhacking.kr] Challenge(old) 4번 문제

문제페이지는 해당페이지와 같다. 초록색 글자의 해시값과 password 입력창, 페이지 소스 링크가 있다는 것을 알 수 있다. 새로고침을 누르면 해시값이 바뀌는 것을 확인할 수 있다. 페이지에 접속할 때마다 변경되는 해시값에 따라서 패스워드가 다르다는 것이라고 유추할수 있다. 해당 페이지 소스를 확인해 본다. 하단의 php 부분을 자세히 봐본다. sleep(1); // anti brute force brute force 공격을 막기위해 sleep(1) 함수가 적용되있다. if((isset($_SESSION['chall4'])) && ($_POST['key'] == $_SESSION['chall4'])) solve(4); 'chall4'라는 세션값이 존재하고 post 형태의 key값이 세션값과 같다면 문제..

[Webhacking.kr] Challenge(old) 3번 문제

문제 페이지는 해당 페이지와 같습니다. 해당 화면은 Nonogram이라는 퍼즐게임으로 가로 세로에 정해진 숫자만큼 타일을 칠하는 게임이다. 자세한 설명은 해당 링크를 참고한다. 해당 Nonogram을 풀면 상단과 같이 나오고 solved를 눌러 제출한다. 제출 시 하단과 같은 페이지로 이동한다. 입력창에 test라고 입력하고 submit을 눌러 제출한다. name, answer, ip가 나오는 것을 확인할 수 있다. (해당 ip는 보안상 블록처리했다.) 이전 페이지로 돌아가서 입력창에 test1를 입력하고 submit 한다. 입력 내용들이 누적되어 기록되는것을 확인할 수 있다. 또한, name 부분만 바뀌고 answer값은 고정이 되있는 것을 알 수 있다. name 입력창에 하단 구문들을 입력하여 SQL..

[Webhacking.kr] Challenge(old) 2번 문제

문제 페이지는 해당 페이지와 같다. 해당 페이지에서는 아무 단서도 없어서 해당 페이지 소스를 확인해 본다. admin.php 에 접근해야 할 될 거 같은 문구가 확인 된다. 해당 페이지로 접근하면 패스워드를 입력하는 창이 나오는 것을 확인할 수 있다. DB에 접근하여 해당 페이지의 패스워드를 알아내서 입력하면 해당 문제가 풀릴 거 같다. SQL injection을 사용하여 DB에 접근해본다. 처음 문제 페이지로 돌아가서 쿠키 값을 확인해본다. 쿠키에 Time 항목이 있는 것을 확인할 수 있다. 다시 웹페이지의 소스를 확인해 보면 상단의 주석을 확인하면 시간이 적혀 있는 것을 알 수 있다. Blind SQL injection이 가능한지 확인하기 위하여 쿠키값에 참과 거짓인 구문을 넣어 확인해본다. 항상 참..