[abex' crackme] crackme5 문제

1. crackme5.exe를 실행하였습니다. 2. 입력 값 없이 바로 Ckeck를 실행하였습니다. 3. 입력 값이 없거나 틀릴 시 다음과 같은 문자열이 출력되는 것을 확인하였습니다. 4. 아이다 툴에 해당 문자열을 검색하였습니다. 5. 검색 후 그래프로 바꾸어서 오답과 정답이 나뉘는 분기 부분을 확인하였습니다. 6. 동적 분석을 위해 "11111111111111" 테스트 값을 입력하였습니다. 7. ZF 값이 0일때 오답 쪽으로 가는 것을 확인하였습니다. 8. ZF 값을 1로 변조 시 정답 쪽으로 가는 것을 확인하였습니다. 9. 이제 ZF값을 변조하는 부분을 찾아봅시다. 바로 윗부분에 두 값을 비교하는 명령어인 cmp을 확인하였으며, 0 값과 eax 값을 비교하는 것을 확인하였습니다. 이때 eax의 값은..

[abex' crackme] crackeme3 문제

1. crackme3.exe를 실행하였습니다. 2. 키 파일을 체크한다는 것을 확인하였습니다. 3. 키 파일이 존재하지 않을 때의 반응을 확인하였습니다. 4. 아이다 툴을 이용하였으며, 키 파일을 체크한다는 문자열과 오답일 때의 문자열을 확인하였습니다. 5. 키 파일의 이름으로 추측되는 "abex.l2c"를 확인하였습니다. 6. "abex.l2c" 파일을 생성하였습니다. 7. crackme3.exe 실행 시 분기에서 오답쪽이 아닌 다른 부분쪽으로 진행되는 것을 확인하였습니다. 8. 계속 진행 시 정답쪽이 아닌 키 파일의 값이 없다는 오답쪽으로 진행되는 것을 확인하였습니다. 9. 키 파일의 값이 없다는 메시지 박스를 확인하였습니다. 10. GetFileSzie 함수가 호출되는 것을 확인하였으며, 파일 사이..

[드림핵] simple_sqli 문제

1. [HOME > Login]으로 접근하였습니다. 2. 로그인 폼을 확인하였습니다. 3. 문제파일을 메모장에 열었으며, 로그인에 사용되는 sql 쿼리문을 확인하였습니다. 4. sql insert문을 확인하였으며, 계정 정보를 확인하였습니다. (admin 계정의 비밀번호가 랜덤인 것을 확인) 5. guest계정으로 로그인을 시도하였습니다. 6. guest계정으로 로그인에 성공한 것을 확인하였습니다. 7. sql인잭션이 가능한지 확인하기 위해서 gues"||"t로 로그인을 시도하였습니다. 8. 로그인에 성공한 것을 확인하였습니다. 9. admin 계정의 비밀번호는 알 수 없으므로 admin id값 뒤에 주석 처리하였습니다. 10. admin 계정에 로그인하였으며, 플래그 값을 확인하였습니다.

[드림핵] session-basic 문제

1. [HOME > Login]으로 접근하였습니다. 2. 로그인 폼을 확인하였습니다. 3. 문제 파일을 메모장에 열었으며, 계정 정보를 확인하였습니다. 4. user계정을 로그인 시도하였습니다. 5. user계정이 로그인된 것을 확인하였습니다. 6. user계정이 로그인되었을 시 쿠키 내에 세션아이디가 존재하는 것을 확인하였습니다. (버프슈트 툴 사용) 7. 문제 파일 코드 내에 Login등의 페이지 외에 admin페이지가 존재한다는 것을 확인하였으며, 페이지에서 session_storage가 리턴되는 것을 확인하였습니다. 8. admin페이지에 접근 시 admin계정의 세션아이디를 확인하였습니다. 9. 버프슈트 툴을 이용해서 user계정의 세션아이디를 admin계정의 세션아이디로 변조하였습니다. 10...

[Snort]정규 표현식 작성

오늘은 https://regexr.com/ 사이트를 이용해서 정규 표현식을 작성한다. 정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는 형식적 언어이다. 우선 위와 같이 PCRE로 바꿔주고 Flags에 들어가서 multiline를 눌러준다. 그리고 적혀있는 모든 글을 지우고 위와같이 예제를 만들어준다. abc를 입력해보면 위와같이 abc에 해당되는 문자들이 매칭된다. abc앞에 ^를 입력하면 위와같이 abc로 시작하는 문자열이 매칭되는 것을 확인할 수 있다. abc뒤에 $를 입력하면 위와같이 abc로 끝나는 문자열이 매칭되는 것을 확인할 수 있다. 1+2를 가진 문자열을 매칭시키고 싶어서 1+2를 입력했지만 생각대로 매칭이 되지 않았다. 이유는 +기호는 메타문자이기 때문에 그 기능을 수행해서 1..

[와이어샤크] FTP 패킷분석

오늘은 ACTIVE_FTP 샘플을 이용해서 FTP가 어떻게 통신하는지 알아보았다. 우선 Statistics에 들어가서 Conversations을 들어간다. 들어가서 Address A를 정렬하면 다음과 같은 화면을 볼 수 있는데 포트번호 21번, 20번을 보고 FTP 통신을 하고 있다는 것을 알 수 있다. 또, 121.63.98.130이 서버고 121.63.98.128이 클라이언트라는 것을 알 수 있다. 좀 더 분석하기 위해서 다음과 같이 클릭한다. 그러면 위와같은 화면을 볼 수 있다. TCP기반 통신이므로 SYN, SYN+ACK, ACK 3웨이핸드쉐이커를 했다는 것을 확인할 수 있다. 3웨이핸드쉐이커가 끝나고 위에서 4번째 줄에 FTP베너를 확인할 수 있다. 처음 FTP를 접속했을때 클라이언트에게 해당 ..