WebHacking
-
[Webhacking.kr] 22번 풀이Wargame/webhacking.kr (old) 2019. 5. 6. 16:40
이 문제는 php 소스가 주어지지 않는다. id가 'admin'이면 password를 주는 SQL Injection 문제이다. join버튼이 존재하기 때문에 우선, 회원가입을 시도해보자. id : admin 가입 시도 이미 존재하는 아이디로 회원가입 실패..! id : test, password : test 가입 시도 가입 성공!! 가입한 id와 password로 로그인하였다. user key가 출력되었다. key 값은 32글자로, 128 Bit 해시함수인 MD5로 해시화되어있는 것으로 추측할 수 있다. key 값을 복호화 해보자..! [MD5 암복호화] http://md5decryption.com/ user key 값은 testzombie의 값이 MD5로 해시화된 것이었다. 따라서, user key 값..
-
[Webhacking.kr] 21번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 23:49
Blind SQL Injection 문제이다. Blind SQL Injection이란? DB에 true 또는 false를 묻고 그에 따른 응용 프로그램의 응답을 파악해 공격하는 기법 [참고 사이트] https://www.owasp.org/index.php/Blind_SQL_Injection 우선, 페이지가 값에 따라 어떻게 반응하는지를 살펴보아야 한다. admin을 입력해 제출버튼을 눌리니 아래와 같은 결과가 나왔다. 입력하는 칸은 no 값으로 전송된다. no는 숫자이기 때문에 숫자를 입력해 제출해보았다. 여러 숫자를 넣어 결과를 확인해보았다. no 1, 2일 경우 True 나머지 숫자 False 결과를 보면 no의 값은 1과 2만 존재한다고 생각할 수 있다. no=1, no=2가 각각 어떤 id와 pw..
-
[Webhacking.kr] 20번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 23:21
time limit : 2 라고 되어 있는 것을 보니 2초 내에 모든 값을 입력해서 넣어주어야 하는 것 같다.우선, 소스 코드를 보자. submit 버튼을 클릭하면 ck함수가 호출된다. ck함수를 해석해보면,모든 입력란에 값이 있어야하고, code의 값과 attackme의 값이 동일해야 한다.(보안 코드 같은 개념) 일단 값 되돌아가서 빠르게 2초 내에 값을 다 입력하는 것을 시도해보았다.하지만,불.가.능.역시,, 될리가 없다.. 아주 유용한 도구인 개발자 도구를 이용하기로 하였다.Console 창을 이용하여 아래와 같이 값을 대입해주는 소스 코드를 작성하여 입력해주었다.이 때, 중요한 점은 code의 값을 attackme의 값으로 설정해주어야 한다. submit함수를 호출하는 것까지 소스 코드에 구현되..
-
[Webhacking.kr] 18번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 23:11
SQL Injection 문제이다.SQL Injection이 무엇인지 알아보자. SQL Injection이란?DB로 전달되는 값에 정상적인 값 대신SQL 쿼리문을 삽입해 DB 상에서 의도치 않은 결과 값이 나오도록 하는 공격 기법 index.phps 를 클릭하면 php 소스를 볼 수 있다. 소스 코드를 보니 몇몇 문자열이 필터링 되어 있고,쿼리문에 no로 입력해준 값을 바로 삽입하여 취약점이 발생하게끔 소스가 짜여져 있다.해당 쿼리문에 대한 결과 값이 admin이면 문제가 풀린다. - eregi("찾고자 하는 문자", "임의의 값") : 대소문자 구분x- ereg("찾고자 하는 문자", "임의의 값") : 대소문자 구분o eregi 함수를 이용하여 space, /, (, ), tab, |, &, unio..
-
[Webhacking.kr] 17번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 22:29
14번 문제와 비슷한 문제이다. 소스를 일단 보자. unlock 값과 입력 값이 같으면 password를 알려준다.unlock 값을 손으로 직접 계산해도 되지만,귀찮기 때문에 개발자도구를 이용하여 unlock 값을 알아내보자! 아래와 같이 Console 창을 이용하여 수식을 갖다 넣으면친절하게 답을 알려준다:) unlock의 값은 9997809307이다.password는 unlock/10이기 때문에 999780930.7으로 추측할 수 있다. 추측한 password가 맞는지 확인해보니 역시,,!! password is 999780930.7 알아낸 password 값을 Auth 페이지에 인증하면 문제가 풀린다.