본문 바로가기

분류 전체보기

kernel 보호기법 확인 mmap_min_addr : sysctl -a | grep vm.mmapsmep : cat /proc/cpuinfo | grep smepkaslr : cat /proc/kallsyms | grep _text | head -n 1 더보기
2017년 10월 31일 화요일 일기 짱 오랜만이다. 일기 썼던 사실도 까먹고 있다가 어쩌다가 다시쓴당일년 반 좀 넘게만에 쓰는데 그동안 많은 일이 있었다. 대회에서 상도 몇 번 타고 비오비 5기도 수료하고 학교도 그럭저럭 잘 다니고 있다.이제 수능 16일 전이라 애들 다 하루종일 도서관 올라가 있고 나는 하루종일 그린아이티에서 지낸다. 컴퓨터 자유롭게 쓰는건 좋은데 요즘 잠이 너무 많이 온다.문제를 풀다가 풀 방법이 보이지가 않으면 자꾸 잠이 오게 된다. 근데 자고 일어나면 조금씩 문제가 풀린당 근데 잠자는 시간은 좀 아깝다ㅜㅜ오늘 드디어 w3challs.com에 wargame 카테고리의 x86 - convert 문제를 풀었다.포맷스트링 문제였는데 푸는데 한 일주일 걸린거 같다. 처음에는 풀 방법이 안보였는데 삽질하다 보니까 풀렸다... 더보기
c++ 템플릿 공부 두 값을 더하는 add연산을 하는 함수를 만들어야 한다는 상황을 가정해보자1234567891011121314151617181920212223242526272829303132333435363738394041#include /*int add(int a, int b) { return a + b;}double add(double a, double b) { return a + b;}std::string add(std::string a, std::string b) { return a + b;}*/ template T add(T a, T b) { return a + b;} // 특수화 (Specialization)template int add(int* a, int* b) { return *a + *b;} int ma.. 더보기
gdbserver 디버깅 따로 ida에서 제공하는 dbgsrv에서 쓸만한게 없다면 gdbserver를 올려서 디버깅 해야한다. 서버에 gdbserver를 static으로 서버 환경에 맞게 컴파일하거나 이미 컴파일 된 파일을 다운 받아서 올리고 "sudo ./gdbserver 127.0.0.1:port ./binary" 이렇게 실행하면 된다. port부분에 1337, 7777처럼 포트 번호를 넣으면 된다. (해당 포트포워딩은 외부로 해 둬야 한다.)가끔씩 sudo를 안해서 ida에서 오류가 날 때가 있으니 해주는게 좋다.그리고 ida로 debugger를 Remote GDB debbuger로 설정하고 Debugger - Process Options에서 Application, Input file을 서버에서의 파일 위치로 잡고, Par.. 더보기
YISF 2017 예선 Write-Up 이번엔 뮤쀼로 참가했다.Web - 50, 100, 150, 200 Forensic - 50, 100 Reversing - 50, 100, 150, 200 Pwnable - 50, 100, 150, 200 Misc - 50, 100, 150, 200리버싱 300 바이너리랑 풀이 코드 https://github.com/5unKn0wn/ctfs/tree/master/yisf2017/reversing300리버싱 300 가상화 문제라서 오래걸릴 줄 알고 안풀었는데 분석 해보니까 xor만 하는 생각보다 간단한 가상화였다. 더보기
c++ reversing 4 보호되어 있는 글입니다. 더보기
Lvalue와 Rvalue 오늘 한거1. Reference 2. C언어에서의 Lvalue와 Rvalue 3. C++에서의 Lvalue와 Rvalue 4. Rvalue Reference 5. 클래스를 생성할 때 기본으로 생성되는 것들 (6가지)1. Reference123456789101112131415161718192021222324#include using namespace std; void swap(int&a, int&b) { int tmp = a; a = b; b = tmp;} int main(void) { int a = 10, b = 20; int& rA = a; cout 더보기
c++ reversing 3 보호되어 있는 글입니다. 더보기
c++ reversing 2 보호되어 있는 글입니다. 더보기
c++ reversing 1 보호되어 있는 글입니다. 더보기