본문 바로가기

분류 전체보기

[Rookiss] md5 calculator - 200pt 보호되어 있는 글입니다. 더보기
[Rookiss] brain fuck - 150pt 보호되어 있는 글입니다. 더보기
2016년 1월 10일 일요일 오늘은 OS를 조금 공부하고 pwnable.kr crypto1문제를 풀었다. 운영체제에서 사용하는 메모리 관리 기법에 대해서 저번부터 보던 것을 다시 봤는데 여전히 어렵다. 그래도 볼 때마다 조금씩 더 이해가 되는 것 같아서 다행인 것 같다. 빨리 다 익히고 자료를 만들어야겠다. 그리고 pwnable.kr의 crypto1문제를 풀었다. AES암호화랑 암호화 모드에 대해서 다시 한 번 알아보고 공부할 수 있는 계기가 되었다. 조금 어렵긴 했는데 AES의 특성을 이용해서 풀 수 있었다. 머리에서 잊혀져 가던 AES를 다시 되새길 수 있어서 좋았다. 내일은 echo2를 풀고 OS자료를 만들어야겠다. 더보기
프로세스 끼리의 통신 - pipe() 파이프는 프로세스끼리의 통신(IPC)를 할 때 사용되는 방법 중 하나입니다. pipe()로 생성하는 파이프는 프로세스 내에 생성되는 것이 아닌 커널에 생성되며 파이프를 사용할 수 있는 파일 디스크립터만 프로세스에게 주어지게 됩니다. 그러므로 하나의 프로세스가 파이프를 생성하고, 그 파이프의 파일 디스크립터를 사용하여 프로세스간 통신을 할 수 있게 됩니다. 여기서 생성된 파이프에서 신경써야 할 것은 바로 파이프의 입출력 방향이 이미 결정되어 있다는 것입니다. 따라서 파이프를 생성하면 이를 이용할 수 있는 2개의 파일 디스크립터가 만들어지게 됩니다. pipe함수의 원형은 int pipe(int fd[2]) 입니다. 인자로 들어오는 두 개의 파일 디스크립터 중 fd[0]은 파이프의 읽기 전용 파일 디스크립터이.. 더보기
2016년 1월 9일 토요일 오늘부터는 일기를 비공개가 아니라 사적인 내용들 빼고 공개로 쓰려고 한다. 오늘은 pwnable.kr의 syscall을 풀면서 커널 익스플로잇을 해봤다. 직접 커널 쉘코드도 만들어 보고, 말로만 듣던 널디레퍼런스도 내 보고, 이번에도 삽질 엄청 많이 했다.. commit_creds(prepare_kernel_cred(0))에 대해서도 공부하고, syscall환경이 arm이라서 arm어셈 공부도 할 수 있었다. 오랜만에 얻을 수 있었던 지식이 많았던 것 같다. 이제 오늘 만들어둔 커널 쉘코드 NULL없애기 등이랑 여러가지 조금만 다듬고 쉘코드는 두고두고 사용해야겠다. 내일은 다음주 금요일에 OS스터디에서 발표할 내용 조금 더 공부하고 자료들도 만들고, 시간이 되면 pwnable.kr crypto1도 한 번.. 더보기
2016년 1월 9일 금요일 보호되어 있는 글입니다. 더보기
[Toddler's Bottle] uaf - 8pt 보호되어 있는 글입니다. 더보기
[Toddler's Bottle] cmd2 - 9pt 보호되어 있는 글입니다. 더보기
[Toddler's Bottle] cmd1 - 1pt 보호되어 있는 글입니다. 더보기
[Toddler's Bottle] lotto - 2pt 보호되어 있는 글입니다. 더보기