본문 바로가기

전체 글64

[SYSTEM] BOF(버퍼 오버 플로우)란 BOF(Buffer Over Flow) 메모리에 할당된 버퍼의 양을 초과하는 데이터를 입력하여 프로그램의 복귀 주소(return address)를 조작, 궁극적으로 해커가 원하는 코드를 실행한다. ▶이런식으로 8칸의 메모리가 4칸 짜리 버퍼가 있을 때 , 버퍼를 초과하는 값을 입력하면 버퍼 이후의 값이 바뀌게 된다. BOF공격원리는 내가 생각하기에 이 그림으로 설명이 가능할 거 같다Buffer부터 값을 채워 다 채운후 SFP까지 값을 채운뒤에 RET까지 접근하도록 넘치게 값을 넣어주면RET = POP eip이기 때문에 다음 실행해야 할 명령어가 존재하는 메모리 주소를 변경하여해커가 원하는 명령을 실행 할 수 있도록 해준다. 2017. 10. 13.
[REVERSING] homework 핸드레이 태어나서 처음으로 핸드레이라는것을 해보았다. 우선 어셈블리 코드를 보기위해 gdb를 이용하였다. 이 코드안에 무슨 함수가 있는지 보기위해info func 사용 main함수가 있는것을 봤으니 main함수부터 들어가보자 main함수를 보니깐 menu와 success함수도 이용하는 것을 알 수 있다.코드의 흐름을 따라가면서 다른 함수들도 한번 보자 코드를 완벽하게 작성하기전에 실행되면 어떻게 되는 지 한번 실행해보자 근데 이 부분이 배열을 의미하는거 같은데 뒤에 주소가 무엇을 담고있는지 어제부터 잘 모르겠었다.. 그래서x/30wx 명령어를 이용해서 주소를 까보니 이렇게 나오는데 일일히 배열안에 넣어야 할 거 같다그럼 이제 c언어 코드로 작성해보자123456789101112131415161718192021222.. 2017. 9. 23.
[LOS] 11번 golem ㅎㅇ 필터링을 우회한 쿼리문을 이용해 파이썬 코드를 작성해보았다. 1234567891011121314151617181920212223import requests URL = 'https://los.eagle-jump.org/golem_39f3348098ccda1e71a4650f40caa037.php'head = {'cookie' : 'PHPSESSID=pcuuoc9mef56coh8jo1e3rq994; _cfduid=de63e93b1fee3ab4d7fa46e679599d9381503410506'} def answer(num): for a in range(1,num+1): for b in range(48,128): params_a = {'pw' : "'|| 1 2017. 8. 25.
[LOS] 10번 skeleton ㅎㅇ 이거는 뒤에 쓸데없는 and 1=0부분이 있기에 뒷부분을 주석처리 하면 될 것 같다.주석처리 할때'-- '이렇게 뒷부분에 띄어쓰기가 들어가야 하므로'--%20'이렇게 입력하면 해결! 2017. 8. 25.
반응형