분류 전체보기

    Time Conversion

    https://www.hackerrank.com/challenges/time-conversion/problem hh:mm:ssAM hh:mm:ssPM 의 12시간 형식으로 사용자가 입력하면 24시간 형식으로 변환해 출력하는 프로그램이다. 문자열 관련 함수를 사용하지 않은지 오래된 것 같아서 최대한 사용하려고 했다. strtok( 자를 문자열, 기준 문자 ): 문자열을 자르는 함수 >> >> 처음에만 자를 문자열의 이름을 넣어주고, 그 다음부터는 NULL을 넣어야 한다. (참고: https://dojang.io/mod/page/view.php?id=376 ) 문자열을 자르고 없애는 것이 아니라 문자열을 자르고 그 시작 부분의 주소값으로 포인터로 반환하는 것이다. strcpy( 복사한 문자열을 붙여넣을 문자..

    SROP x64

    Example //gcc -g -o sig64 sig.c #include #include struct sigcontext sigcontext; void handle_signal(int signum){ printf("Signal number: %d\n", signum); } int main(){ signal(SIGINT, (void *)handle_signal); while(1) {} return 0; } debugging - handle_signal()함수에 break point 설정 - handle SIGINT nostop pass: GDB가 interrupt에 반응하지 않도록 설정 - 실행 후 Ctrl+C 눌러 Interrupt 발생시킴 - bt: handle_signal 함수가 호출되기 전에 실행된..

    SROP x86

    Example //gcc -m32 -g -o sig32 sig.c #include #include struct sigcontext sigcontext; void handle_signal(int signum){ printf("Signal number: %d\n", signum); } int main(){ signal(SIGINT, (void *)handle_signal); while(1) {} return 0; } debugging - handle_signal()함수에 break point 설정 - handle SIGINT nostop pass: GDB가 interrupt에 반응하지 않도록 설정 - 실행 후 Ctrl+C 눌러 Interrupt 시그널 발생시킴 - bt: handle_signal 함수가 호출..

    SROP

    SROP (SigReturn-Oriented Programming) : sigreturn 시스템 콜을 이용해 레지스터에 원하는 값을 저장하는 방식 >> 원하는 시스템 함수를 호출할 수 있다. Signal : 프로세스에게 이벤트가 발생했음을 알리는 역할 - 다른 프로세스에게 시그널을 전송할 수 있다. = 시그널이 발생하면 그 시그널에 대한 결과로 다른 프로세스에게 시그널이 전송되는 것이 가능 원시적인 형태의 IPC (interprocess communication; 프로세스 간 통신)로 사용 자기 자신에게 시그널을 전송하는 것도 가능 - 일반적으로 커널이 시그널을 송신 - 이벤트 종류 하드웨어 예외가 발생한 경우 사용자가 터미널 특수 문자 중 하나(Ctrl+C; interrupt character)(Ctr..

    WEB 02.1.1 유튜브 영상 공유

    태그로 유튜브 영상 넣기 MY HOBBY 제 취미는 영화보기 입니다. 다양한 장르의 영화를 보는 것을 좋아합니다. MOVIE GENRES COMEDY FILM NOIR MYSTERY MY HOBBY 제 취미는 영화보기입니다. 다양한 장르의 영화를 보는 것을 좋아합니다. MOVIE GENRE COMEDY FILM FILM NOIR MYSTERY COMEDY FILM 유머에 중점을 둔 영화 장르로, 관객들로부터 웃음을 끌어내려고 제작된다. 참고 유튜브 영상의 공유하기 버튼을 클릭하면 퍼가기 버튼을 클릭해 URL을 얻을 수 있다. 이 때 태그로 되어있는데 이를 embed로 바꿔사용해도 가능하다.

    WEB 02.2.4 예약하기

    레스토랑 예약하기 레스토랑 예약하기 예약자 정보 예약자 : 연락처 : 예약인원 : 1> 2명 3명 4명 5명 이상 예약 시간 선택 메뉴 선택 코스 A 코스 B 코스 C 코스 D 요청사항: * required 속성을 붙여 꼭 입력되어 하는 부분임을 표시한다. >> 마우스를 입력란에 두면 "이 입력란을 작성하세요."라는 메시지가 표시된다. * placeholder로 지정한 부분의 내용이 바탕에 표시된다. 패턴속성으로 지정한 형식에 어긋나게 입력했을 경우 "요청한 형식과 일치시키세요" 라는 메시지가 표시된다.

    WEB 02.2.3 설문조사 폼 양식

    다양한 폼을 활용해 설문조사 양식 작성하기 설문조사 기본정보 이름: 나이: 성별: 남성 여성 관심분야(1개이상) 디지털 콘텐츠 웹프로그래밍 데이터베이스 기계학습 다음 문항에 대해 5점 척도로 답하세요 본 세미나의 주제는 만족스러운가? 1 5 본 세미나의 초청강사는 만족스러운가? 1 5 본 세미나의 강의시간은 적절한가? 1 5 기타 의견 사항 의견을 입력하세요. * 나이를 입력하는 입력폼에서 input태그의 type을 "number"로 지정해 숫자만 입력받을 수 있도록 한다. 이 때 숫자외의 문자를 입력하면 입력한 내용이 보이긴 하지만 엔터를 누르면 사라진다. chrome의 경우 마우스를 나이 입력창 위에 둘 때 스크롤바가 나타난다. 나이의 값을 입력받기 때문에 min값을 0으로 설정했다. 아무것도 입력되..

    WEB 02.2.1 ~ WEB 02.2.2

    입력폼 작성 이메일 입력 폼과 비밀번호 입력폼, 확인, 취소 버튼 작성 회원가입 이메일: 비밀번호: 아직 화면에 입력하는 틀만 작성해놓은 상태라 값이 저장되거나 취소를 눌렀을 때 값이 사라지지는 않는다. 비밀번호 입력 시, ●으로 표시된다. 선택항목 추가 수강과목 조사 이름: 학과: 학년: 1> 1학년 2학년 3학년 4학년 학년을 선택하는 항목을 태그를 사용했다. 태그의 속성 중 size>1을 지정해서 스크롤박스 형식으로 나타나도록 했다. 의 하위 태그로 태그들을 작성해 선택 항목들을 지정했다.

    WEB02.1.4 이미지 삽입 및 이동

    이미지 삽입 및 이미지 선택 시, 아래 프레임에 나타남 강아지의 모습 멍멍 귀여운 강아지의 모습을 보여주어요. 태그의 name 속성에서 지정한 프레임의 name을 태그의 target 속성의 값으로 지정해 연결되도록 한다. 3개의 강아지 사진들을 동일한 크기로 맞춰 넣었고, 그 아래에 빈 프레임 화면이 나타난다. (+)

    [ROP Emporium] write4

    checksec 64bit NX bit 걸려있음 Pseudo Code disassembler code를 확인해보면 (한 번 실행을 하고 disassemble 해야 이런 코드가 뜬다) 0x20 byte만큼 buf에서 200byte만큼 read함수를 통해 읽는다. (+) file을 인자로 전달해 exit함수를 우회해야한다. >> "flag.txt" 사용 (+) buf의 크기 buffer에 할당된 buf의 크기(RSP): 0x38 byte >> OVERFLOW 발생 실행 Payload 작성 libc leak print_file 함수를 이용해 libc_base를 구하기 여러 가지 offset 구하기 system - libc = 0x453a0 puts - system = 0x2a300 puts - libc = 0..