목록분류 전체보기 (10)
공부를 합니다.
parsing, 또는 파싱. 에대한 모든것 이지만 나도 잘 모른다. ㅎ 하지만 포너블, 미스크 등 다양한 분야에서 요구하는 기본적인 능력이므로 차근차근 정리해보려고 한다. 파싱이란 문장 단위의 문자열을 토큰으로 재구성하는 것이다. 다양한 언어로 파싱을 할 수 가 있는데 난 처음부터 python으로 시작을 해서 파이썬으로 파싱을 하면서 알게된점, 기록하고 싶은것들... 이다! 우선 내가 파이썬 공부를 하면서 처음 접했던 "잘라낸다" 의 의미를 가진것이 슬라이싱기법, slicing 이다. 예를 들어보면 >>> s = 'do not believe me' 라고 저장 했을때 >>> s[0:2] 이러면 'do' 가 출력이 된다. 여기서 알아야 할거은 파이썬은 숫자를 0부터 세고 슬라이싱할때 마지막 숫자는 포함이 안..
flagship... 거의 다풀었는데 NULL을 \n으로 알고...ㅂㄷㅂㄷ.... NULL 은 \x00 이라능..!!
bof문제를 연습하고 싶어서 '2016 tmctf' 에 출제되었던 문제를 서버에 올려놓고 연습해봤다.
pwnable.kr 의 bof[5pt] 문제를 풀어봤다. ==============================================================Nana told me that buffer overflow is one of the most common software vulnerability. Is that true?============================================================== bof가 가장 일반적인 s/w 취약점이라고 Nana가 말하고 있다. 5점짜리 문제니 후딱 풀어봤다. 우선 문제 파일을 다운받고 실행을 시켜봤다. bof란 간단하게 설명하자면 말 그대로 버퍼 오버플로우, 버퍼를 넘치게 하는 기법을 말한다. 대부분 선언된 버퍼를..
문제를 풀고나서나, python 으로 문제풀면서 익힌 쫌 중요한것들! 1. remote 이용해 문제풀기. ctf 나 pwnable.kr 을 풀때 'nc server.xx.xx 9898' 또는 'ssh ~' 이런식으로 나와있을때 저기에 접속을 해면 문제파일이 실행이 될때가 있다. 그리고 문제를 풀려면, flag를 얻을려면 저기 서버쪽에 내가 짠 코드를 보내서 성공!을 해야한다!(리눅스에서 파일 실행하고, 서버접속하기)그때 사용하는것이 (예 pwnable.kr) pwn 모듈을 이용해서 접속하는 것이다. ssh('name', 'server', 'password', 'port')remote('server', 'port') 그리고 local에서 파일을 실행시킬때는 이러면 내 꺼에서 bof 라는 파일이 실행이 된다..
히힛. 시험기간에 포스팅할랬는뎅 롸업쓰고 나름 중간고사 준비한다고 이제야 포스팅한다능....끄적.... 난 포너블쪽을 잡고 진행했다. 우선 가장 기본적인 30점 문제 boffee이다. 이름에서도 예측할 수 있듯이 bof를 이용하는 것....! =================boffee시스템 해커가 되어보자================= 네, ㅎㅎ 시스템 해커가 되어봅시다. 문제를 받고 실행을 시켜보면 지금 잘 기억이 안나는데 인사를 하고 이것을 풀어야 시스템해커가 될수있다능!!! 이런 뉘앙스로 한줄씩 한줄씩 출력이 되는 문제였당. 중간에 '이것을 줄게' 하고 잠시 뜸을 들이고 어떤 값을 주고 계속 실행이 된다. ㅎ호홍 캡쳐본이 있었다. 이제 실행도 시켜보고 했으니 ida로 열어봅시당! 여기 보면 알 수 ..
먼가 개념적인것들을 차근차근 적으려고 했지만 정리 하다가 지쳐서 그냥 의식의 흐름대로 포스팅 하려구요 ;ㅅ;머릿속이 정리가 안된다능... 오늘은 보안시작할때쯤, 엄청난 뉴비레벨이었을때 동아리사람들이 뭐라뭐라 하는데 그게 무엇인지구글에도 나오지 않고, 직접 물어보면서 습득한 것들을 정리해볼까 합니다. 진짜 기본적인것부터.... 낄낄 우선 플래그. 뭐 플래그가 깃발인데 자꾸 플래그가 떳녜말았녜 플래그를 찾았니말았니다들 알다시피 이것은 추상적으로도 대충 감으로 '답' 을 의미한다는것을 알 수 있죠. 그리고 터미널 창에서의 'Ctrl + L' 이것은 'clear' 와 같이 스크린 청소기능 단축키!맨날 clear 를 치다가 컨트롤 엘 을 하면 먼가 더 프로패셔널 해보인다능... 이제 좀 깊이 들어가서 offset..
/* 보안공부를 하면서 막혔던 부분이나 정말 제 기준에서 어렵게 이해한 부분을 저만의 방식으로 끄적이는 공간을 만들었습니다!(아마 혼잣말을 하면서 제가 저를 이해시키는 글이 될것입니다.ㅎ) 혹여나 제 글을 보신다면, 틀렸거나 잘못알고 있는 지식이 있다! 싶으면 (사실 많을 것 같습니다.) 바로 알려주세요 ^0^*/ 전 지금 시스템 공부를 하는 중 입니다. 시스템 뉴비라 해도 무관한 실력...ㅎㅅㅎ 시스템을 시작하면 스택과 힙, 즉 메모리 부분을 보면서 취약한 부분을 발견해 내는것이 가장 큰 그림입니다. 요새 스택 부분에서도 ctf 문제가 출제되고있지만 서서히 힙 관련해서도 문제가 출제 되고있습니다. 전 힙은 아직 이고 아직까지 스택에 대해서 공부를 하고있어요. 스택을 처음 배웠을때 무작적 FILO(Fir..
올 여름초에 비공개로 작성해둔 fd 롸이트업인데 먼가 되게 풋풋한 문서같아서 포스팅으로 돌렸다. - 2016.11.18 #2016.7.11처음으로 포너블.kr 에서 가장 쉽다는 fd 문제이다. 분홍색 물방울처럼 생긴 귀여운몬스터가 =============================================="Mommy! what is a file descriptor in Linux?" ============================================== $ cat fd.c 문제풀기전에 동아리 선배가 C언어 복습하고 오래서 복습딱 다하고 본 첫문제였다. 내가 복습을 안했고 많이 모르는구나 라고 느낀점이 추가됬다. 여기서 기본적인 C언어 지식! argc, argv, envp argv[0]..
면접 준비 하다가 알게된 공격기법 몇가지! 나중에 계속 추가하면서 공부하기! 1. RTL (리턴투라이브러리) return address 에 libc 내의 함수를 덮어씌워 쉘코드 없이 exploit 하는것이다. RTL 공격은 libc 라고 하는 공유 라이브러리 내의 함수로 리터나게 하여 프로그램의 실행흐름을 조작하는 공격이다. /* 운영체제에 ASCII-Armor 보호기법이 적용되어 있다면 공격자가 라이브러리를 호출하는 공격을 한다 하더라도 NULL바이트가 삽입되게 되므로 쉽게 익스플롯 하지 못하게 된다.*/ 2. RTL channing (pop pop) RTL 공격을 연속적으로 일어나게 스택을 구성하여 공격하는 기법이다.pop pop ret과 같은 명령어를 이용하여 스택의 인자 참조 영역을 지나치고 다음..