본문 바로가기

[pwnable.kr] BOF pwnable kr bof 풀이 2016.08.14.SUN bof 코드 main함수를 보면 0xdeadbeef를 func함수로 보내는데 func함수에서는 이를 key로 받는다. 그리고 key와 0xcafebabe값이 같아야 /bin/sh 쉘을 열어 공격성공을 할 수 있는데 우선 코드를 gdb까서 스택에 쌓인 구조를 분석해보자. disas main disas func func함수를 분석해보면 gets함수로 ebp-0x2c부터 ebp+0x8까지 overflowme인자를 받아들이는데 두 주소의 차이는 10진수로 52가 차이나므로 B로 52개를 채우고 key값을 0xcafebabe로 덮으면 /bin/sh쉘을 띄울 수 있을 것이다. flag : daddy, I just pwned a buFFer :) 더보기
[webhacking.kr] challenge 4 webhacking.kr challenge 4 2016.08.17. 들어가면 이렇게 나오는데 생긴게 끝이 ==이고 회원가입할 때 ‘decode me’에 있던거랑 비슷한 모양이길레 디코딩을 했더니 이렇게 떴다. 이게 password는 아닌거같아 다시 한번 더 디코딩을 했는데 아닌거 같다. 그래서 찾아보니 해시 함수를 이용하여 풀면 될 거 같다. +) 해시? 어떤 데이터(key)를 고정된 길이의 데이터(hash)에 매핑시키는데 그 매핑되는 과정이 해시 함수(hash function) 해시 함수는 key와 hash를 매핑하는 알고리즘 알파벳과 숫자로 이루어져있으니까 16진수 해시일 것이다. 세아려보면 총 40글자인데 16진수 한자리는 4bit이므로 총 160bit이다. 그래서 ‘160bit 해시’를 검색해보았.. 더보기
[webhacking.kr] challenge 1 webhacking.kr challenge 1 2016.08.17. 일단 들어가면 이런 게 뜨는데 index.phps를 누르면 코드가 뜬다. user_lv쿠키값에 0~9까지숫자,.를 제외한 문자열이 있으면 쿠키값을 1로 설정한다. user_lv쿠키값이 6이상이면 쿠키값을 1로 설정하고 5를 초과하면 solve();발동 그러면 쿠키값을 5초과 6미만 값으로 고치자. (EditThisCookie) 이렇게 쿠키값을 입력하고 다시 index.php로 돌아가면 Congratulations!창이 뜬다. 더보기