먼저, 로그인 페이지에서 webhacking.kr 계정으로 로그인 해 보았지만 실패. Join 버튼은 "Access_Denied" 라는 메세지만 뜬다. 요소 검사를 해보면 "Join" 버튼을 눌렀을 때 단순히 메세지 박스만 뜨도록 해 놓았다. 로그인 페이지가 http://webhacking.kr/challenge/web/web-05/mem/login.php 이니까, 게싱으로 가입 페이지는 http://webhacking.kr/challenge/web/web-05/mem/join.php 라고 생각해볼 수 있겠다. (존재하지 않는 페이지일 경우 404 에러 메세지가 나오므로, 숨겨진 페이지를 찾았다고 볼 수 있음) 들어가면 텅텅 빈 페이지가 나오는데, 한번 더 요소 검사를 해보자. 분석하기 어렵도록 난독화된..
먼저 점수가 높지 않은 문제라 SQL Injection 같이 어려운 문제는 아닐 꺼라고 생각했다. 힌트로 주어진 문자열 뒤가 "==" 식으로 끝나는데, 웹 쪽을 좀 해본 사람은 base64 인코딩이라고 직감할 수 있을거다. base64란?https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464 쉽게 말하면 바이너리 데이터를 일정한 규칙을 이용해서 ASCII로만 이루어진 문자열로 변환하는거다.메모장으로 exe파일을 열면 이상한 글자로 깨져버리는걸 base64로 인코딩해서 안전하게 전송, 저장할 수 있도록 하는 거라고 생각하면 될듯 하다. 도구 : https://ostermiller.org/calc/encode.html 풀면 "c4033bff94b567a19..
IPTIME 쉘 접근 및 telnet 접속 코드 / 프로그램 (버전 9.72) 코드 : https://github.com/zrkrbit/iptime (iptime-debug.py) 분석편 : http://jochiwon.tistory.com/5 python2 기반에서 만든 걸 python3버전으로 변경하고, 일부 오류수정 및 관리자 비밀번호 설정 시에도 사용 가능하도록 하였음. 내장되어 있는 텔넷 기능이 열리지 않으면 분석편 글을 참조할 것. 사용법 : 1. 공유기 관리 페이지 메인 화면에서 펌웨어 버전을 확인한다. 2. 시스템 관리 -> 기타 설정 -> 원격 지원을 "사용"으로 설정 후 저장한다. 3. 시스템 관리 -> 관리자 설정 -> 로그인 인증 방법 설정을 "기본방식"으로 설정 후 저장한다. 4...
IPTIME 펌웨어 분석, 쉘 접근 및 telnet 접속 (버전 9.72 까지)구버전 이후부터 9.72버전까지 이 방법으로 쉘에 접근 가능합니다.이후 상위 버전부터는 IPTIME 측에서 해당 기능을 제거했습니다.(시스템 관리 - 펌웨어 업그레이드 - 수동으로 다운그레이드 가능) 이 글에서 소개하는 방법은 IPTIME측에서 원격 A/S 및 디버깅을 위해 기기에 숨겨둔 기능으로,관리 페이지에 비밀번호가 걸려있고, 시스템 관리 - 기타 - 원격 지원 기능이 꺼져 있으면 작동하지 않으며,펌웨어의 취약점은 아닙니다.프로그램(python 코드) : http://jochiwon.tistory.com/61. IPTIME 펌웨어 내려받기http://download.iptime.co.kr/online_upgrade/t24..
페이지의 소스를 확인해보자. --------------------- ----- index.phps ----- 쿠키 데이터를 이리저리 비교하는 걸로 보아 쿠키 값 변조 문제인 것 같다. 2번째 줄에서 클라이언트의 user_lv 쿠키가 없을 경우, 값을 1로 해 새로 만들어준다.21번째 줄에서는 user_lv 쿠키 값을 정규식으로 체크해 1~9까지의 값이 아니면 1값을 만들어주고 있다.eregi 함수 >> http://php.net/manual/en/function.eregi.php 23번째 줄 부터user_lv 쿠키값이 5 초과이거나, 6미만인 경우에만 문제를 풀이한 것으로 처리하고 있다.(23번째에서 5보다 작거나 같을 경우, 25번째에서 6이상일 경우 쿠키값을 1로 초기화한다) 쿠키 값을 조작하는것이 ..