Webhacking.kr 36번
·
Webhacking.kr
힌트로 vi와 blackout이 주어진다. 해석해보면 "vi를 사용하던 중 정전이 일어나서 프로그램이 꺼졌다" 뭐 그런 소린로 추정할 수 있다. vi 에디터를 사용해본 사람은 알겠지만 예기치 못한 이유로 프로그램이 종료되면 vi 에디터는 현재 경로에 ".파일명.swp" 파일을 생성시킨다. - "index.php" => ".index.php.swp" 비밀번호는 "공인IP + dlseprtmvpdl~~~~" 문자열의 md5 해쉬 결과이다. 파이썬에서 str 변수에 공인IP + dlse~~ 값을 저장하고 md5 해쉬를 뽑아낸다.
Webhacking.kr 35번
·
Webhacking.kr
GET 메소드로 전송되는 "phone" 파라미터 값에 필터링이 적용되어 있다. 그 다음에는 쿼리가 실행되는데, 각 변수의 의미는 아래와 같다. - SESSION[id] = id 값 - SERVER[REMOTE_ADDR] = 클라이언트 공인 IP 값 - GET[phone] = 사용자가 입력한 값 내 환경상 아마 "VALUES ('wraith', '58.xx.xx.xx', 정수_입력값)" 쿼리가 실행될 것이다. 그리고 id 값이 "admin" 이면서 ip 값이 내 공인 IP와 동일한 컬럼이 존재하면 해당 결과에서 id 를 보여줄 것이다. 공인 IP는 바뀌지 않으니 쉽게 말하면 (SESSION[id]) 값이 "admin" 일 때만 클리어 된다는 소리다. 문제는 해당 값은 가입할 때 세팅되고 변경할 수 없다는 ..
Webhacking.kr 34번
·
Webhacking.kr
34번 문제 들어가면 경고창이 나타난다. 딱 봐도 javascript 관련 문제이다. 소스를 보면 뭔가 복잡한데, 아마 난독화가 적용되어 있는 듯하다. 난독화 순서는 다음과 같다. - 원본 코드를 알아 보기 힘들게 변수명을 바꿈 - substring 등을 이용해 문자열을 잘르고 스크립트 실행을 위해 다시 합침 - 스크립트 실행 후 원본 소스에 접근하지 못하게 원본 코드를 초기화 - 초기화 -> 변수명 = '' 초기화 부분을 찾기 위해 검색 기능을 이용하여 ='' 를 찾는다. O00O 변수를 초기화 하고 있다. 크롬 콘솔에 변수명을 입력하면 원본 코드가 나온다.