| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 딥러닝
- 설치
- picoCTF
- 리뷰
- Python
- PostgreSQL
- CTF
- 백준
- C언어
- 우분투
- FastAPI
- 소프트맥스 함수
- 역전파
- 오차역전파법
- 신경망
- sgd
- 코딩
- Python Challenge
- HTML
- AdaGrad
- 순전파
- Apache2
- 책
- 신경망 학습
- 파이썬
- flag
- 기울기
- PHP
- PICO CTF
- 아파치
- Today
- Total
목록전체 글 (160)
Story of CowHacker
이번 방학 때 공부를 하려고 산 '밑바닥부터 시작하는 딥러닝' 책이다. 올해 하반기 졸업작품을 대비해 공부를 하려는 계획이다. 책 표지에 있는 저물고기의 이름은 쏭뱅이다. 쏭 뱅이... 영양성분은 탄수화물 : 0.1g 단백질 : 19.9g 지방 : 0.6g 이라는데 상당히 좋은 영양성분을 가진 녀석이다. 꼭 한번 먹어보고 싶다. ( 무려 20그람가량의 단백질 함유 라니 ) 책의 목차를 훑어봤다. 1 장 헬로 파이썬 1장에서는 파이썬에 대한 기본 문법들을 ( 산술 연산, 자료형, if문 등등 ) 아주 간략하게 한쪽 분량으로 설명돼있다. 2 장 퍼셉트론 2장에서는 퍼셉트론을 다뤘는데 ' 인공 뉴런 '이라는 뜻을 가졌다. 3 장 신경망 3장에서 나오는 신경망은 2장에서 언급한 퍼셉트론의 단점인 가중치 설정을 ..
이번 글에서는 어셈블리의 기본 문법을 직접 실습해보는걸 쓸것이다. 먼저 이 실습을 하기 위해서는 32Bit의 운영체제가 준비 돼있어야한다. 일단 hello.asm라는 제목으로 vim파일을 하나 만든다. nasm 이라고 the Netwide AsSeMbler라는 뜻을 가진 명령어를 쓴다. nasm -f의 옵션은 출력파일형식 설정을 하는 것이다. 뒤에 elf32는 파일 형식을 32bit로 출력 파일을 설정한다는 것이고 -g는 앞에 -felf32의 옵션을 디버깅 정보로 설정 해준다는 옵션이다. 그다음 ;를 써 명령어를 이어서 gcc ( GNU Compiler Collection ) 를 써줫다. -m32옵션은 hello.o 파일을 32bit로 컴파일 한다는 것이고 -o옵션은 앞에 오브젝트된 파일인 .o파일을 실..
어셈블리의 기본지식에 대해 작성 할것이다. 1. Stack & Heap 1) Stack 이란 함수 호출시 생성되는 지역 변수와 매개 변수가 저장되는 영역이다. ( LIFO 구조 ) 2) Heap 이란 필요에 의해 동적으로 메모리를 할당할 때 사용하는 영역이다. ( 스택과는 반대 방향으로 데이터가 쌓인다. ) 2. 레지스터 1) 레지스터란 컴퓨터의 프로세서가 자료를 보관하는 아주 빠른 기억 장소이다. -> 프로세서 : 컴퓨터 내에서 프로그램을 수행하는 녀석이다. 2) 레지스터 종류 - 산술 레지스터 : 덧셈의 덧수, 곱셉의 곱수, 비교 또는 자리가 이동될 단어 등을 보유한 레지스터 ex) eax, ebx, ecx, edx ... - 범용 레지스터 : 특별한 용도 없이 임의로 사용 가능한 레지스터 ex) e..
포너블 5번 문제를 풀어 볼것이다. ssh 로 접속 주소가 있었다. ls 해본 결과 플래그 passcode, passxode.c 가 있었다. passcode.c 파일을 cat으로 보았다. 크게 두개의 함수와 그리고 main 함수가 있었다. 먼저 main 함수를 보면 프린트문을 출력하고 welcome함수로 넘어 갔다. 그리고 나서 login함수로 넘어가고 나서 두번째 프린트 문을 출력했다. welcome함수를 보았다. char name[100]을 보아 name 이라는 변수에 버퍼 100을 준것이였다. 그리고 scanf로 값을 받아 name에 넣고 프린트 문을 출력할려는 모습이였다. login함수를 보았다. int passcode1 int passcode2 두개의 passcode변수를 선언하고 passcod..
포너블 4번 문제를 풀어 볼것이다. flag라는 4번문제, 아빠가 선물을 줬다는 글이랑 리버싱이라는 글과 바이너리가 필요하다는 글이 있었다. 또 나는 다운로드 링크를 통해 받은 flag라는 파일을 cat 으로 열어봤다. 깨진 글이 였다. gdb로 열어봤다. disassemble main 으로 main 구문을 어셈블리어로 볼려고 했는데 로드가 되지 않았다. 권한을 줘 봤다. 실행 권한이 없어서 그런가 싶어서 이다. x, 실행권한을 준걸 확인하고, 음...똑같은 현상이였다. 이번에는 flag파일을 실행 시켜 봤다. malloc이라는 함수에 플레그가 있는 듯 한 말이 떳다. IDA프로그램으로 파일을 열어봤다. main 구문도 없고 별 건질 건 없었다. 그래서 이 파일은 도대체 뭘까 해서 봤다. 구글링 결과 컨..
포너블 3번째 문제를 풀어 볼것이다. 버퍼오버플로우가 소프트웨어의 취약점이라는게 사실 이라고 묻는 질문에 다운로드 링크 2개가 있고 ,nc 접속 주소가 있다. bof.c 링크 부터 들어가 c파일을 확인해봤다. 일단, main함수 부터 봤다. 메인 함수 인자에는 argc라는 변수에 argv형식으로 값을 넣어 주는 거 같았다. 그리고 main함수 안에 func해놓고 0xdeadbeef값을 반환하게 해 놓았다. 이제 위로 가서 func 함수를 봤다. 여기서는 overflowme[32]라고 overflowme라는 변수에 32 바이트를 준다는걸 알수 있었다. 그리고 gets로 값을 받아 if 문으로 또는 else문으로 가는 형식이였다. 여기서 if 문으로 가기 위해선 overflowme의 값이 oxcafebabe..
포너블 2번 문제를 풀어볼거다. 해석을 대충 해봤다. 아들이 아빠한테 MD5 충돌에 대해 들었다. 나도 하고싶다?? ( 아버지 대단하신거 같다. MD5도 아시고;; ) 번역기를 돌려 봤다. 대충 맞게 해석 한거 같았다. MD5 해시 충돌이 뭔지 구글링 해봤다. 서로 다른 두 개의 입력값에 대해 동일한 출력값을 내는 상황을 해시 충돌이라고 나와있다. 이 정보를 알고난 후 문제에 있는 shh로 접속을 해봤다. 역시나 제작자의 나름 디자인한 pwnablee.kr이 보였다. password는 guest를 입력하고 들어갔다. 들어간후 일단 뭐가 있는지 ls를 쳐보니 col, col.c flag 가 있었다. 1번 문제인 fd와 똑같은 구조의 파일이였다. 호기심에 col을 cat으로 열어 보았다. ㅎㅎ 역시나 외계어..
포너블 1번 문제를 풀어 볼거다. 사이트를 들어 가봤다. 문제를 풀려면 회원가입은 필수다. http://pwnable.kr/play.php# http://pwnable.kr/play.php pwnable.kr 일단 난 영어가 부족해서 번역기를 돌려 봤다. ( 문제를 알아야 문제를 풀던가 말던가 하기 떄문이다. ) 난 구글 번역기 말고 파파고 번역기를 사용했다. ( 후배가 알려준 좋은 사이트 인거 같다. ) https://papago.naver.com/ 네이버 파파고 번역을 부탁해 파파고 papago.naver.com 리눅스 설명자가 뭐라는 어떤 아이의 질문이였다. 엄마는 과연 알고 계실까 궁금했다. " * " 해놓고 밑에 참고 영상 이래서 들어 가봤다. 후기 : 어떤 외국인 남성이 문제 푸는 영상이였다...