본문 바로가기

전체 글

(171)
[AceBear Security Contest] secure login AceBear Security Contest secure login Reversing 711pt 실행해보면 현재 시간을 알려주면서 NAME 과 password를 입력받는다. IDA로 열어보았다. sub_8048AA3 함수를 먼저 호출 한 뒤에 name 값과 password 값을 입력 받은 후 sub_8048950함수에서 password를 암호화 시킨다. 후에 암호화 시킨 password와 s2(F05664E983F54E5FA6D5D4FFC5BF930743F60D8FC2C78AFBB0AF7C82664F2043) 값이 같다면 해당 서버에서 플래그를 추출한다. 먼저 sub_8048AA3 함수를 보면 알람 함수가 보이고 key data를 불러오는 함수가 보인다. (key 제일 중요)그 다음 현재 시간을 기준으로..
objdump 사용법 objdump의 파일명은 architecture 별로 상이할 수 있으며, 주로 이용되는 사용법은 다음과 같다. objdump [-d] [-S] [-l] [obj 파일명] > [output 파일명] -d 옵션은 disassemble, 즉 어셈블리어 코드 목록을 생성한다. -S 옵션은 소스코드를 최대한 보여주는 옵션이다. optimization 된 object file의 경우 소스코드가 모두 보이지 않을 수 있다. -l 옵션은 소스코드에서의 line을 보여주는 옵션이다. '> [output 파일명]' 을 하게 되면 파일명으로 export 하게된다. 이를 생략하면 화면에 즉시 출력된다. objdump는 GNU 바이너리 유틸리티의 일부로서, 라이브러리, 컴파일된 오브젝트 모듈, 공유 오브젝트 파일, 독립 실행파..
2018년 2월 1일 목요일 보호되어 있는 글입니다.
IDA bind: Address already in use IDA bind: Address already in use error solution 1234567891011121314151617181920gyeongje@gyeongjePC:~/Desktop$ ps | grep linux_server gyeongje@gyeongjePC:~/Desktop$ ./linux_serverIDA Linux 32-bit remote debug server(ST) v1.19. Hex-Rays (c) 2004-2015bind: Address already in use gyeongje@gyeongjePC:~/Desktop$ ps -alF S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD0 S 1000 6338 6296 0 80 0 - 1388..
[pwnable.kr] flag 엇 포너블 문제가 아닌 리버싱 문제다.파일 다운받아보면 IDA로 코드가 잘 안보이는데 일단 peid로 보았다. 밑에 언팩 정보를 보면 UPX 가 걸려있다는걸 확인할 수 있다. https://github.com/upx/upx/releases여기서 upx 다운받고 터미널에서 upx -d flag 쳐주면 된다. 문제 힌트보면 malloc로 공간을 확보해준 뒤에 거기다가 flag를 넣었다고 써있다.gdb로 브포건 후 디버깅하여 해당 값을 확인하였다 RDX에 flag 문자열이 들어간걸 보아 mov rdx, QWORD PTR [rip+0x2c0ee5] 부분이 flag 값을 넣는 코드인걸 확인했다.
[pwnable.kr] bof 간단한 bof 문제 같다. 12345678910111213141516171819#include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0xcafebabe){ system("/bin/sh"); } else{ printf("Nah..\n"); }}int main(int argc, char* argv[]){ func(0xdeadbeef); return 0;} Colored by Color Scriptercsbof.c 소스다. 사실 여기서 살짝 해맸는데.. 저 소스 자체를 내 우분투 에서 컴파일 하여 오버플로우를 하려 했는데gd..
[pwnable.kr] collision 해쉬 충돌에 관한 문제인것 같다. hash collistion은 reversing.kr CRC1 을 풀어보면서 익혔었는데 생각보다 골치아팠다 ㅋㅋ.. 123456789101112131415161718192021222324252627282930313233col@ubuntu:~$ cat col.c#include #include unsigned long hashcode = 0x21DD09EC;unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i
[pwnable.kr] fd 포너블 잠깐 맛보면서 제일 먼저 풀어봤던 문제다. 1234567891011121314151617181920212223fd@ubuntu:~$ cat fd.c#include #include #include char buf[32];int main(int argc, char* argv[], char* envp[]){ if(argc