Web Hacking

webhacking.kr

[webhacking.kr] old-60 (Race Condition)

문제분석 & 풀이 페이지에 접속하면 idx 값을 알려주고 "access denied"라고 한다. 코드 분석 1. 세션 idx 값을 화면에 출력해 알려준다.(5번줄) 2. PHPSESSID 쿠키의 값이 숫자가 아닌경우 "Access Denind"를 출력하고 프로그램 종료(6번줄) 3. 1초 뒤 mode 파라미터 값이 auth 이면 ./readme/{$_SESSION['idx']}.txt 경로 파일을 읽고 $reuslt에 저장한다. (8~10번줄) 4. $result에 idx 값이 들어있으면 문제가 클리어된다. (11~15번줄) 5. ./readme/{$_SESSION['idx']}.txt 경로 파일을 열어서 파일에 idx 값을 쓴다. (18~20번줄)6. 클라이언트 ip 주소가 "127.0.0.1"이 아니..

webhacking.kr

[webhacking.kr] old-59 (sqli → reverse)

문제분석 & 풀이 ID 와 phone를 이용해서 계정을 가입하고 로그인 할 수 있게 구성됐다. 코드를 분석해보자.

webhacking.kr

[webhacking.kr] old-58

문제분석 & 풀이 문제에 접속하니 USER Console 이라는 간단한 콘솔창이 구현되어있다. 콘솔창에 무슨 명령어를 쳐봐야될지 모르겠어서 우선 간단한 리눅스 명령어들을 쳐보니 ls 명령어만 정상적으로 출력된다. 계속 여러 명령어들을 쳐보던 중 대다수의 명령어들이 찾을수 없다고 떠서 명령어 문제는 아니라고 판단했고 혹시? 하는 마음에 flag를 입력해봤다. flag를 입력해보니 접근이 불가능하며 admin만 접근이 가능하다고 뜬다. admin만 가능하다는 것은 나는 admin이 아닌 다른 계정을 사용중이라는 것인데 그것을 알아보기 위해 개발자도구(F12)를 이용하여 찾아봤다. 간단하게 소스를 분석해보자. 1. username은 "guest" 2. guest:[입력한 명령어] 의 형태로 서버에 데이터를 전..

webhacking.kr

[webhacking.kr] old-57 (sqli → Time Based)

문제분석 & 풀이 페이지에 접속하면 message를 제출하는 칸이 있다. 하단에 소스가 있어서 분석해봤다. 1. msg, se 파라미터 값을 받아서 addslashes() 를 통해 이스케이프 처리해준다. 2. se 파라미터에 select, and , or , not , & , | , benchmark 가 있으면 프로그램 종료된다. 3. sql 쿼리를 실행하여 DB에 flag값과 함께 데이터를 추가한다. 4. rand(0,100)으로 나온 값이 1이면 DB의 chall57 테이블의 데이터는 삭제된다. 결론적으로 3번에서 insert 문으로 데이터가 추가될 때 같이 저장되는 $flag값을 알아내는 것이 이번 문제의 목표이다. 인젝션을 통해 DB에 저장된 $flag값을 빼내야 할 것이다. 그러나 소스를 보면 ..

webhacking.kr

[webhacking.kr] old-56 (Broken Access)

문제분석 & 풀이 테이블이 등장한다. readme를 눌러보면, access denied가 나온다. 아마도 admin의 subject를 구하는 것이 문제인 것 같다. 이번에는 hi~를 눌러보니 hello~라고 뜬다. 다시 돌아가서 메인페이지에는 검색창이 있다. admin, guest 라고 검색해봤지만 아무것도 뜨지 않는다. "hi~" 게시글의 내용이었던 "hello~"를 검색해보니 guest의 레코드가 결과로 나온다. 검색창은 게시글 내용이 포함된 경우에 레코드가 결과로 출력되는 것 같다. 이번에는 h라고 검색했고 2개의 레코드가 나온다. readme, hi~ 모두 h가 들어가는 것 같다. 그렇다면 이 특징을 이용해서 readme의 내용으로 무슨 문자가 들어가있는지 검색해볼 수 있다. 코드를 작성하고 모든..

webhacking.kr

[webhacking.kr] old-55 (sqli → procedure)

문제에 접속하니 점수와 함께 초록모양의 아이콘이 있다. 마우스를 움직이면 점수가 쌓이면서 초록모양 아이콘이 마우스 방향으로 이동한다. rank 링크를 눌러서 들어가보니 순위표가 나열되어있다. 하단을 확인해보니 위와 같은 php 코드가 보인다. 소스를 자세히 보면 insert 문 맨 오른쪽에 $flag 값이 있는 것을 확인 할 수 있다. insert 문을 이용해 DB에 rank를 저장하는데 이때, flag값도 같이 저장하는 것 같다. 다시 돌아와서 순위표를 보면 score 부분에 하이퍼링크가 있어서 눌러보니 id 와 점수가 상단에 뜨는 것을 확인 할 수 있다. 추가적으로 URL 부분을 보니 score 파라미터를 이용해 점수를 보내서 상단에 정보를 출력하는 것을 알 수 있다. 이번에는 score 파라미터 값..

keyme
'Web Hacking' 태그의 글 목록 (7 Page)