목록Security (30)
간디의 세상

동아리에서 CTF 관심 있는 사람들은 팀 조인하라고 선배 한 명께서 톡방에 올리셔서 바로 이메일 등록했다. 동아리 들어와서 가장 해보고 싶었던 팀 꾸리고 CTF를 해볼 수 있게 되었다. 4월 6일부터 10일까지 꽤 오래 진행되었다. 그래서 그런지 문제도 계속해서 업데이트되서 엄청엄청 많았다. 난이도는 별로 어렵지 않다고 해서 안심했는데 역시나 초짜인 나에게는 어려웠다.. CTF가 시작하는 자정까지 대기타다가 정각에 새로고침을 했는데 아무 문제도 안 올라와있었다. 서버 오류인지 20분 정도 연기될거라고 디스코드에 공지가 올라왔다. 위에 디코 사진들은 채팅으로 드립 좀 쳤더니 누가 찐따 아니랄까봐 관심 받아서 신나서 캡쳐했다ㅎㅎ 아무튼 가징 쉬워 보이는 걸로 3문제 정도 풀었는데 복기를 좀 해보자 web/d..

[동아리] 팀프로젝트 과제 #1[어셈블리어 (Assembly Language)]1. 기계어와 어셈블리어CPU는 어떠한 프로세서에 명령을 내리기 위해서 고유의 명령어 세트들을 가지고 있다.이 명령어 세트를 기계어라고 하는데 숫자들의 규칙 조합이기 때문에 이대로 그냥 사용하기에는 어려움이 많다.때문에 이를 쉬운 기호 코드로 나타낸 것이 어셈블리어이다. 어셈블리어는 저급 언어에 속하는 기계어보다 위의 단계의 프로그래밍 언어이다.통일되어 있는 규격이 없어 컴퓨터 구조와 어셈블러에 따라 문법이나 표현 등이 다르다.본 글은 Intel 문법과 64비트 운영 체제를 기준으로 설명한다. 어셈블리어는 기계어와 일대일대응이기 때문에 어셈블리어를 공부하면 컴퓨터 시스템과 메모리 구조 등에 대해서 더 깊게 이해할 수 있다.반대..

#!/usr/bin/env python3 hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] with open('flag.png', 'rb') as f: plain_s = f.read() plain_list = [hex(i)[2:].zfill(2).upper() for i in plain_s] enc_list = list(range(len(plain_list))) for i in range(len(plain_list)): enc_list[i] = hex_list[(hex_list.index(plain_list[i]) + 128) % 256] enc_list = ''.join(enc_list) with open('encfile', 'w', enc..

랜덤한 2개의 숫자를 더한 결과가 입력 값과 일치하는지 확인하는 과정을 50번 반복하는 프로그램입니다. 모두 일치하면 flag 파일에 있는 플래그를 출력합니다. 알맞은 값을 입력하여 플래그를 획득하세요. 힌트로 pwntools를 줬다. 파이썬 모듈인데 확실히 파이썬은 신이다. 50번 덧셈을 1초 안에 해야하는데 이건 아인슈타인이 와도 못 할 것이다.. 무조건 프로그램을 만들어서 쓰라는 것 같다. int main(void) { int fd; char *flag; initialize(); srand(time(NULL)); flag = (char *)malloc(FLAG_SIZE); fd = open("./flag", O_RDONLY); read(fd, flag, FLAG_SIZE); close(fd); in..

처음으로 써보는 워게임 풀이이다. 시작한지 얼마 안 됐는데 시스템 해킹 너무 어렵다ㅜㅜ 이것저것 찾아보면서 하고 있긴 한데 이번 문제는 자료 찾아가면서 혼자서 풀어내서 그냥 기록용이나 공부용으로 풀이를 남겨보기로 했다. 물론 질문글들의 도움을 받긴 했다.. 아직 힌트 없이 혼자 뚫어내기에는 지식도 없고 쉽지 않다. int __fastcall main(int argc, const char **argv, const char **envp) { setresgid(0x3E9u, 0x3E9u, 0x3E9u); system("clear"); puts("Tada~!"); return 0; } 문제에서 준 chal 파일을 IDA에 돌려봤다. setresgid() 함수에 관한 정보를 좀 찾아봤는데 생각한 만큼 그리 많이 ..

3월 23일부터 24일까지 이틀 동안 고려대학교 하나스퀘어에서 진행하는 INC0GNITO Conference에 참여했다. 프로젝트 발표를 직접 하지는 않았고 앉아서 듣기만 했다. 이런 곳에 가는 것은 처음이라 못 알아들을까 걱정되기도 해서 이전 년도 후기들을 보려고 검색해봤는데 많이 안 나왔다. 그래서 나같이 이제 막 입문한 사람들이 검색해서 이 글에 들어온다 생각하고 그냥 내 일기를 써볼까 한다. 안 그래도 이런 해킹 컨퍼런스 들으러 다니고 하는게 멋있어 보여서 기회가 있다면 한번쯤은 가보고 싶다는 생각을 했었는데 고맙게도 동아리에서 다같이 갈 수 있는 기회가 생겼다. 프로젝트 발표는 동아리 선배님들이 진행하셨다. 일정은 이렇게 진행되었다. 나는 이틀 모두 참여했는데 첫째날에 트레이닝 세션에도 참여했다..

* 수정 *요즘 들어 이 글에 들어오는 사람이 많아졌는데 해커가 기승을 부리고 있나보다당장 내가 들어가있는 디코방에서도 똑같은 일이 벌어지고 있기도 하고.. 아무튼 수상한 링크를 받았으면 피싱 링크이니 절대 들어가지 마시고, 설령 들어갔다 하더라도 아무것도 안 하고 바로 나오면 됩니다그래도 위험하니 일단 들어가진 마셈뇨.. 혹시 본인이 해킹되서 피싱 링크가 뿌려졌다면 해킹 당했으니 링크를 절대 클릭하지 말라는 메세지를 보내시고 계정 비번을 바꾸시던지 보안 조치를 알아서 취해주시길 바란다 뭐 때문에 해킹되는지는 아직 모르겠다일단 백신 돌려보고 최근에 한 짓 중에 의심 가는 거 있으면 거기일 것이다 디코 계정이 털려서 발생하는 문제 같은데 어떤 경로로 어떻게 털리는지는 확인하지 못했다 (애초에 안 찾아보긴 ..

Write Up 보러 왔으면 다른 사람이 쓴 거 보기를 추천 본인은 쌩초짜이며 Write Up이 뭔지도 잘 모름저번에 DiceCTF 2024로 처음 CTF에 입문을 해봤었다 제대로 푼 문제는 한 문제 밖에 없었는데 그 이후로 따로 공부를 하지는 않았다 백수짓하다가 13일부터 16일까지 2박 3일로 일본에 다녀왔는데 그때 정말 많은 생각을 했다 일본 여행은 나에 대해서, 나의 과거 그리고 미래에 대해서 찬찬히 성찰해보고 그려볼 수 있는 계기가 되었다 익숙하지 않은 낯선 환경과 간섭하는 사람도 전혀 없는 공간이 나로 하여금 더 자신에게 몰입할 수 있도록 했다 수많은 생각거리를 안고 뭐라도 해보자는 마음에 들어간 CTF Time에서 바로 다음날 열리는 LA CTF에 참가하기로 했다 인천으로 돌아오는 비행기에서..

CTF 문제 풀이법 찾으러 온 사람들은 나가시고 다른 사람들이 쓴 Write Up 찾아보시기를 추천드립니다 저는 풀이법을 쓰긴 썼는데 한 문제 밖에 못 풀었을 뿐더러 잡소리가 대부분인 경험 기록 글이라 별 도움되는 내용은 없을 듯.. 2월 3일에서 4일까지 이틀간 진행된 DiceCTF에 참여해봤다 아직 간단한 웹해킹 정도만 조금씩 배우고 있는 상태고 리버싱도 흘끗흘끗 기초적인 내용만 좀 공부해놨는데 지난 2일에 CTFTimes라는 사이트를 우연히 알게 되었다 바로 다음 날에 열리는 CTF가 있길래 좀 읽어봤더니 온라인 참여도 가능하다고 한다 배운 것도 없어서 한 문제도 못 풀거라고 예상했지만 CTF에 어떤 문제들이 등장하고 어떻게 진행되는지 경험이라도 해보기 위해서 혼자서 싱글 팀을 만들어 참가해보기로 ..

안녕하세요오늘은 비밀번호를 만들 때 주의해야 할 점과 참고하면 좋은 것들에 대해서 알아보려고 합니다우리가 자전거를 자물쇠로 잠글 때, 어떤 사이트에서 로그인을 할 때 그리고 은행 계좌에서 돈을 이체할 때 등 여러 상황에서 비밀번호가 사용됩니다혹시라도 이 비밀번호가 타인에게 노출이 된다면 치명적인 피해를 입을 수도 있는데요요즘에는 사이버 상에서 로그인할 일이 매우 많고 거래를 하는 경우도 많기 때문에 비밀번호가 유출되지 않도록 주의를 해야 합니다털리기 쉬운 비밀번호는 해커의 주요 공격 대상이 되는데 이러한 공격이나 피해를 방지하기 위해서 안전한 비밀번호를 만드는 방법에 대해서 알아봅시다위 사진은 2011년 11월 17일, AOL에서 발표한 최악의 비밀번호 TOP 25 목록입니다비밀번호를 간단하게 만들면 안..