분류 전체보기
[빡공팟 5기] 시스템 해킹 트랙 W1 과제
코딩 도장(C Unit 80) 정리내용 GitHub - Jastes/H4C-5- Contribute to Jastes/H4C-5- development by creating an account on GitHub. github.com 저는 이전에 C언어를 했어도 다시 정리하면서 힘드네요..ㅠ 모르는 부분도 있었고 코딩 도장의 정리를 다시 정리한 것이며, 퀴즈나 그런 부분은 디코에 이미지로 했어요.. 답이랑 하면 이미지도 너무 많아져서 수강한 인증만..(깃허브에 있어요) Unit 80까지는 아는내용은 간단히 보고 해깔리는 부분은 다시 보고.. 수강은 했는데.. 문제풀이랑 정리는 아직도.. 죄송합니다 ㅠ 약간 정리가 안되서.. code up(1070-1099) 여기서 어렵다고 느낀 코드 5개만 하라고 했는데 ..
HackerSchool_level12
keyworld : gets buffer Overflow level12 - WriteUp 위 코드를 확인해보시면 gets()라는 입력받는 부분이 어디까지 입력받는지 서술되지 않았기에 취약함! 참고로 안전한 방식은 gets_s가 있겠죠. 실행할 수 있고 분석할 수 있게 tmp로 옮겨서 실행하지요 위 방식으로 하시면 보통 저는 intel 방식으로 사용하기에 보기 불편할 수 있기에 변경하는 방식도 있는거 같은데 그냥 전부터 이렇게 했으니까 그냥 할께요 첫번째 방식으로는 메모리에 할당된 stack의 크기를 알 수 있으며, 0x108(264)로 확인 되며, 두번째는 gets의 형식이 있기 전에 str로 입력받은 형식이 인자로 넣어지는데 gets의 형식의 인자에 맞게 넣기에 확인해보면, 0xff.. 실제값이라기엔 ..
HackerSchool_level11
keyword : strcpy bof keyword : printf Format String keyword : NOP level11 - Write Up(NOP) 힌트가 코드네요... 위 코드를 보면 argv라는 main인자의 값을 받아서 출력하네요 setreuid가 있기에 level12로 향하는 비번의 권한을 취득할 수 있답니다. BOF에 취약한 대표적인 함수가 strcpy이니까 bof로 main의 ret를 조작하면 되겠네요 참고로 저 함수에서 bof 취약점을 막을려면 strncpy로 하면 되요 ㅎ 그럼 리버싱으로 확인해볼까요? 음.. 보시면 프롤로그가 위와 같이 나와있으며, 의 어셈 코드가 $0x108, %esp로써 아까 코드에서 본 char str[256]의 크기를 저렇게 esp로써 공간 할당한거네요..
HackerSchool_level10
keyword : Shared Memory level10-WriteUp Shared Memory 공유 메모리란 여러 장치(주로 CPU)나 여러 프로세스가 공동으로 사용하는 메모리 Ex) 라이브러리 등.. [ CS / OS ] 공유 메모리 (Shared Memory) 공유 메모리란 여러 장치(주로 CPU)나 여러 프로세스가 공동으로 사용하는 메모리를 의미한다.위의 그림처럼 일반적인 프로세스는 각자의 독립된 메모리를 가지고 사용하게 된다. 하지만 공유 velog.io 공유 메모리에 저장한다라.. 그럼 먼저 공유 메모리 설정과 기능 그리고 코딩에 대하여 알아보기 전에 추가적으로 정보가 있는지 확인해봅시다 일단 ./program이라는 파일이 존재하기에 확인을 해보니까 권한이 없다.. 즉, root 권한에서 실행..