Basic RCE L02 - WriteUp 말 그대로 파일이 회손되어 x32dbg가 실행이 안되네요 IDA는 실행이 되긴 한데.. 해보니까 그렇게 정확하게는 원하는 값은 안 나와서.. 윈도우 11에서는 저렇게 뜨네요 일단 HxD(Hex Editor)로 확인 해봅시다 애시당초 읽기 전용으로 만들었네요.. 하긴 그러니까 회손했다고 했겠다 밑으로 더 내려가면서 확인해보면... 글로 "Nope, try.." 즉 실패했을 때 메시지와 "Yeah you did it!"이라는 성공 메시지 그리고 밑에 Crackme#1으로 JK3FJZh로 문자열이 있는 걸 보아.. 그게 정답일 가능성이 있겠네요 확인해보면.. 성공!! 참고 자료 CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 200..
Basic RCE L01 - Write Up 비번 : codeengn 로써 HD가 CD-Rom에 접근이 되어야만 실행이 된다고.... 즉, 인자로 CD-Rom으로 접근된 것을 확인하고 반환해서 하면 위와 같이 구분이 되어 있네요 그럼 코드를 x32dbg로 해서 해볼께요 실행을 시켜서 분석을 해보면.. 위와 같이 뜹니다 하나씩 비교를 해볼까요? 보시면 0040100C까지는 프롤로그이기 때문에 무시하셔도 큰 상관은 없을 듯 싶네요 그리고 push 01.402094까지의 내용도 큰 문제는 없지만 팁을 준다면.. call : 시스템 아이콘, 일련의 단추, 상태 또는 오류 정보와 같은 간단한 응용 프로그램별 메시지가 포함된 모달 대화 상자를 표시 한마디로 결과를 모달창으로 표시해줌 push 01.402094 : ..
keyword : Buffer Overflow level9-WriteUp 문제 파악 BOF 문제라고 친히 알려주네요 BOF 해당 문제는 제가 Dreamhack에서 실컷 해서.. 약간 다시 설명하면 물려서 BOF 설명(꼭 보세요) Memory Corruption: Stack Buffer Overflow 스택 버퍼 오버플로우(Stack Buffer Overflow) 세계 최초의 웜이라고 불리는 모리스 윔도 이 공격을 통해 전파됨 보안 공부를 모르는 개발자도 알만큼 유명하고 역사가 오래된 취약점입니다. 이렇게 dystopia050119.tistory.com 실습_Dreamhack (비번 걸려있긴 한데.. 풀고 나서 풀이 검색 https 하고 Jastes를.. 하하) Return Address Overwrite..
keyword : File Search level8 - WriteUp 문제 파악 음.. 근데 shadow하니까 /etc/shadow 가 떠오르네요 ㅋㅋㅋ 쨋든 파일 용량 찾으면 끝나겠네요 find --help 명령어를 쳐서 보니까 -size N으로 바로 구할 수 있겠네요 추가 옵션이.. [bckw]라고 하는데.. 설명이 참 불친절하네요 구글링 해보시면 c가 byte의 크기라고 하네요..(뭔 약어야??) find / -size 2700c 2> /dev/null 저기 이미지 보시면 알겠지만 첫 번째거는 웹 페이지 깃이니까 아닐거고, 3-4번째는 share..::..gz 막 이러는데 압축형식에 공유니까 이건 스냅샷 느낌이네요 그럼 2번째꺼를 뜯어보면 되겠죠? 이런걸 아직 유추하기 힘들다! 하면 삽질하면서 배우..
keyword : Morse Code level7 - WriteUp 문제 파악 뭐.. 2-4까지 내용이 뭐 좀 수작업을 거쳐야할 거 같네요 그러면 /bin/level7 명령어를 일단 실행해볼까요 /bin/wrong.txt 파일을 출력하는 거 같은데 파일이 없는거 같네요? 혹은 권한이 안되서 못 보거나 그럼 root 권한으로 접속해봐도.. 똑같이 뜨네요 그럼 파일을 추가해주면 알아서 입력될까요..? 결론적으론 다 안되네요 ㅠ 알고보니까 사실 level7 문제는 개인 FTZ로 하면 다음과 같은 파일이나 디렉토리가.. 없다고 뜨네요 그럼 뭐 어쩌라는건지 핵심 부분을 다시 만들어서 해야겠죠 하.. --_--_- --____- ---_-__ --__-_- 머 저만 그런건지 모르겠지만 전 커멘드 창에 복붙의 이슈가..
keyword : process down level6 - WriteUp 문제파악 그냥 생각 없이 접근하면 저렇게 뜬답니다.. 근데 1, 2, 3 다 들어가도 뭐 없네요 바로 좀 있다가 꺼지기만 하고.. 그리고 bbs가 알아보니까 그냥 채팅 보내는 서버..? 느낌이더라고요 문제 푸는데 전혀 도움이 안되니까.. 처음 들어갈 때 나오는 힌트를 봐볼까요? 역시나.. 텔넷 접속 메뉴에서 많이 "사용되던" 해킹 방법이라고 하네요 지금은 막힌 그니까 텔넷 접속을 시작할 때 강제로 특정행동을 취하면 우리가 원하는 걸 시작하겠죠? 여기서 특징은 hint → 입력(텔넷 접속 번호) → 종료 시그널과 함께 우리 putty도 안녕~ Write_Up 진짜 삽질을 좀 할 수 있는 부분입니다... 뭐 다들 cmd 쓰실때 강제 종료..
Return Oriented Programming ROP : 리턴 가젯을 사용하여 복잡한 실행 흐름을 구현하는 기법 공격자는 이를 이용해 문제 상황에 맞춰 RTL/Return to dl-resolve/GOT overwrite 등을 이용해 페이로드를 구성합니다! 지난 시간에 pop rdi; ret을 사용해 system("/bin/sh")을 호출한 것도 ROP를 이용한 RTL입니다. ROP 페이로드는 리턴 가젯으로 구성되는데, ret 단위로 여러 코드가 연쇄적으로 실행되는 모습에서 ROP Chain이라고 불립니다. // Name: rop.c // Compile: gcc -o rop rop.c -fno-PIE -no-pie #include #include int main() { char buf[0x30]; s..
level5 문제풀이(Race Condition) keyword : tmp weakness exploit 문제파악 /usr/bin/ 파일에서 /tmp 디렉토리에서 임시파일에서 취약점을 찾나보네요 여기서 임시파일이 취약한 이유는 서버같은 부분에서 임시 작업인 로그 및 중요 정보를 담는 곳 그곳은 root 밑에 부속된 tmp(임시 파일)라는 부분이거든요 그니까 root쪽에서 보는게 좋겠죠? 그러나 힌트에선 level.tmp 임시파일에서 하라던데 없죠? 그럼 만들어야겠네요 근데 하다보면서 알게된 사실인데 결국 어짜피 계정만 여러개로 나누어 관리만 했지 문제 접근은.. 해당 로직에 있으니까.. 이렇게 접근이 가능한데.. 뭐 재미있게 본 부분이고 다시 문제로 돌아가서 level5 문제는 푸는 여러가지 방법이 있어..
WriteUp 문제 목표와 주요 기능 설명 엔드포인트 분석 /vuln xss에 대한 스크립트 단을 필터링 하는 부분이며 GET 요청으로 확인을 하네요 단, 명확하게 필터링 되어 있지 않아 xss도 가능하나 우린 csrf로 합시다 이런 태그도 가능하니까 가능한거겠죠? (이 코드가 핵심!!) /memo global로 memo_text를 지정해주었죠 또한 text는 이용자가 전달한 파라미터를 입력받고 해당 상수 변수에 저장하여.. render_template을 통해 반환해주네요(이 부분을 활용할 수 있겠죠?) /admin/notice_flag 아까 global로 memo_text 지정했으니까 이용해 사용할 수 있죠 또한 로컬 ip에 접근하지 않는다면 한 번 Access Denied해주고 또.. 요청받은 use..
Cross Site Request Forgery(CSRF) 웹 서비스는 쿠키 또는 세션을 사용해 이용자를 식별합니다. 임의 이용자의 쿠키를 사용할 수 있다면, 이는 곧 임의 이용자의 권한으로 웹 서비스 기능 사용 가능! CSRF는 임의 이용자의 권한을 임의 주소에 HTTP 요청을 보낼 수 있는 취약점입니다. 공격자는 임의 이용자의 권한으로 서비스 기능을 사용해 이득을 취하는 형식이죠 시나리오를 한번 봅시다 아래 코드는 CSRF에 취약한 송금 기능 수행 코드입니다. 왜냐하면.. 계좌 비번, OTP 등을 사용하지 않기에 로그인한 이용자는 추가 인증 정보없이 기능이 사용되니까요 위 코드에 대하여 주의깊게 살펴보면.. /sendmoney 로 가서 user에 대하여 to를 입력 그리고 금액을 입력해 전송하면 반환..