일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- gui
- 알고리즘
- go channel
- 백준
- C++
- JUCE라이브러리
- JUCE library
- BOJ
- 연결리스트
- 운영체제
- LOB
- C++ gui
- vim-go
- tour of go
- C++ gui 라이브러리
- c++ heap
- 리듬게임
- 자료구조
- a tour of go
- JUCE 튜토리얼
- 코딩
- 공룡책
- 프로그래밍
- C언어
- C++ library
- Docker
- go
- Nebula
- JUCE
- OS
- Today
- Total
CafeM0ca
모카는 개인적으로 '자바'가 들어간 단어나 웹,네트워크를 싫어하는데 팀프로젝트로 프론트엔드를 맡게되었고 죽어도 하기싫은 자바스크립트를 하게 되었다. 공부에 앞서서 자바스크립트를 검색해보니 원래 이름은 모카(Mocha)였던 것이다!갑자기 자스가 맘에 들어서 카테고리에 웹-자바스크립트를 추가하게 된 것이다. 공부는 어디서 하는가?:https://opentutorials.org/course/1 생활코딩이라는 사이트가 있는데 무료강의가 있다. 모카는 강의를 볼정도로 시간이 없으니 참고만하고 웹페이지에 작성되있는 문법만 익히는게 목적이다. (살면서 단 한번도 웹을 접해보지 않음. HTML문법을 1도 모른다.) 윈도우랑 맥에대한 실행환경이 사이트에 자세히 나와있지만 리눅스에 대한 설명은 없다.(모카는 우분투를 사용..
CTF를 한번 참가했었는데 착하게 LOB처럼 소스코드를 주지는 않는다.덕분에 처음 본 문제가 python으로 코딩한 문제로 알고있다.죽어라 gdb로 disas main했지만 안나오는게 당연했었다.(main함수없고 init함수가 있더라) 이야기가 삼천포로 빠졌는데 어쨌든 실행파일 바이너리만 달랑주기 때문에 어셈블리 명렁어를 통해 프로그램의 실행 로직을 잘 파악해야 한다. push - 스택에 메모리를 집어넣는다. 32비트면 4바이트, 64비트면 8바이트pop - 스택 최상단에서 메모리를 뺀다. (pop eax - 최상단에서 뺀 메모리값을 eax에 저장)mov - 주소를 복사한다. (mov dest scr - dest에 scr을 복사) lea - 주소값을 복사한다.(lea 레지스터 주소 - 레지스터에 주소값을..
입장 ID:vampire입장 PW:music world코드를 확인해보니 버퍼와 argv를 싹다 초기화 한다. 복사본을 만들자. 스택구조는 다음과 같다.buffer 40 | SFP 4 | RET 4 gdb로 열고 main+368부분에 브레이크 포인트를 잡자.공격 스크립트는 python-c′pr∫A⋅44+\xaa\xbb\xcc\xbf′이며스택을 확인해보자. 스택 최하단에 실행파일 이름공간이 보인다! 이 부분을 사용하자. 심볼릭 링크를 걸어주자. 여기서 쉘코드 뒤에 약간의 높을 넣어줘야 원활하게 실행된다.ln -s noteleks python-c′pr∫\x90⋅100+심볼릭 링크 쉘코드+\x90⋅50′사진상에는 skeleton으로 심볼릭 링크를 걸었지만 복사본으로 걸..