일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 등교개학
- pwnable.kr
- 워게임
- 이비즈니스과
- coursera
- 딥러닝
- WebHacking
- 풀스택
- 디지털컨텐츠과
- 우분투
- graphql
- 웹개발
- 시스템해킹
- Flutter
- 인공지능
- 코로나19
- 대나무숲
- 중3
- TensorFlow
- 플러터
- 디미고입학
- 디미고특별전형
- 디미고
- 특별전형
- 머신러닝
- 해킹방어과
- 웹프로그래밍과
- apollo
- 학생
- 일상
- Today
- Total
목록전체 글 (46)
꿈이 너무 많은 한 대학생의 공간
본 포스팅은 구름EDU 딥러닝 이론 및 파이썬 실습 (허민석) 을 참고하여 작성된 요약본입니다. 비전문가가 작성하였으므로 참고만 해주시길 부탁드립니다. 1. 싱글 인풋 뉴런이란? 앞에서 말했다시피 뉴런은 사람의 뇌와 매우 비슷하게 작동된다. 자극이 오면 이를 판단하고 다른 뉴런으로 넘기는 방식으로 처리한다. 이를 딥러닝에 구현한다면 어떠한 자극이 올 때 자극을 가중치와 곱하고, 활성 함수에 넣는다면 기댓값보다 높을 때 1을, 아닐 때 0을 출력한다. 정리하자면 하나의 입력값을 가지고 처리하는 뉴런을 뜻한다. 2. 활성 함수 활성 함수는 전달된 값(자극 x 가중치)이 0인지 1인지를 판단하는 함수이다. 크게 Step Function(계단 함수), Sign Function(부호 함수), Sigmoid Fun..
본 포스팅은 구름EDU 딥러닝 이론 및 파이썬 실습 (허민석) 을 참고하여 작성된 요약본입니다. 비전문가가 작성하였으므로 참고만 해주시길 부탁드립니다. 1. 딥러닝이란? 딥러닝이란 다양한 머신러닝 기술 중 하나이다. 우리의 뇌 속 실제 뉴런 세포를 가져온 것이다. 실제 뉴런의 구조는 가지 돌기 - 신경 세포체 - 축삭 돌기로 이루어져 있는데 가지 돌기에서 어떠한 신호를 받으면 그 신호를 계산해 또 다른 한 가지 신호를 만들어 축삭 돌기로 전달한다. 이러한 방식으로 사람의 뉴런이 구성되어 있는데, 실제 딥러닝에서 사용되는 뉴런 구조와 유사하다. 어떠한 x값을 받았을 때, 지정된 가중치 값(w)를 곱한 값과 b(편향)을 더한 후 Activation Function(활성 함수)에 넣어 0인지 1인지를 판단해 ..
1. 퍼셉트론이란? 퍼셉트론(Perceptron)은 프랑크 로젠블라트가 고안한 알고리즘으로, 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 것을 말한다. 전류가 전선을 타고 흐르듯이 퍼셉트론도 신호가 흘러 하나의 신호로 앞으로 전달되게 된다. 퍼셉트론은 0과 1, 흐르지 않거나 흐르는 단 두가지의 값을 가지게 된다. x1 과 x2의 신호를 받아 x3에서 y 하나를 내보내는 하나의 퍼셉트론을 생각해보자. 이때 x1, x2, x3는 각각 뉴런, 혹은 노드 라고 불린다. 입력 신호가 뉴런에 보내질 때에는 각각의 신호에 가중치가 곱해진다. 노드는 가중치가 곱해진 신호들이 일정한 한계를 뛰어넘게 되면 1을 출력해 신호를 내보낸다. 이때 일정한 한계를 임계값 이라고 하며, 기호 세타(θ) 를 통해 나타낸다. ..

1. 산술 연산 print(1-2) # -1 print(1+2) # 3 print(1*2) # 2 print(1/2) # 0.5 파이썬에서는 간결하게 사칙연산을 할 수 있습니다. 2. 자료형 print(type(10)) # class 'int' print(type(2.718)) # class 'float' print(type("Hello World")) # class 'str' 위와 같이 빠르게 타입을 확인할 수 있습니다. 3. 변수 x = 10 print(x) # 10 x = 100 print(x) # 100 y = 3.14 print(x*y) # 314.0 변수를 선언해 값을 대입하고 연산할 수 있습니다. 또한 다른 언어와는 다르게 변수의 타입을 설정할 필요가 없으며 대입된 값에 따라 자동으로 타입이..

딱히 pwnable의 flag 문제가 리버싱이라 풀기 힘들어서는 아니고, 오늘은 Wargame.kr 문제를 풀어보겠습니다. strcmp 라는 함수를 우회하는 문제? 뭔가 예측이 안가는 문제네요. Start 를 눌러 문제사이트에 들어가봅시다. 단순히 post 기능이 구현된 form 입니다. 소스도 확인해보겠습니다. 서버 내에 /var/lib/dummy_file 을 가져오고 md5 해쉬화, sha1 해쉬화까지 하여 password를 정한 뒤 post 로 넘어온 password 와 비교해 문자열이 같다면(strcmp 함수는 두 인자의 값이 같을 시 0 을 리턴합니다) flag를 띄우는 방식입니다. 일단 strcmp에 주목해야겠네요. php 의 strcmp 함수를 확인해봤더니 배열과 문자열을 인자로 넣는다면 s..

오늘 갑자기 코로나19 API를 이용하고 싶어서 이를 이용한 디스코드 봇을 제작하였습니다. 전 포스팅에서 자체 제작했던 "보건복지부 파싱 코로나 API" (http://dev.api.corona.koreal.io/all) 를 사용했습니다. Discord.js 모듈을 이용해 Javascript로 제작했습니다. request 모듈을 이용해 API 서버에서 body를 긁어오고, 파싱해 Embed 로 띄우는 형식입니다. - ! 입력시 ! 를 입력하면 아무 명령어를 입력하지 않은 것으로 간주해 명령어를 모른다면 !help 또는 !도움말을 쳐달라고 메세지를 띄웁니다. - !도움말 (!help) 입력시 코로나봇 사용법을 가져옵니다. Discord.MessageEmbed 를 사용해 가져옵니다. - !코로나 입력시 국내..

드디어 시스템 해킹의 첫 관문인 버퍼오버플로우 문제를 풀어보겠습니다. 푸는 방법은 이해했지만 포너블에 아직 익숙치 않아 어떻게 쉘코드를 입력해야 하는지 고민 끝내 풀이를 보고 찾아냈습니다.. 먼저 실행파일과 소스코드를 wget 명령어를 통해 다운받겠습니다. func에 0xdeadbeef 를 넘기고 func 내에서 overflowme 라는 지역 변수를 선언합니다. 그 후 overflowme 에 gets 함수를 통해 key(0xdeadbeef) 와 0xcafebabe 가 일치하는지 확인하고 일치한다면 쉘을 실행, 아니라면 Nah.. 를 출력하고 끝냅니다. 일단 취약점이 보이는 gets 함수를 통해 key 변수를 오버플로우시켜야할 것 같습니다. gdb(pwndbg)를 통해 스택을 확인해보겠습니다. gdb로 m..

오늘은 다시 pwnable 문제풀이 포스팅입니다. 어제 치과를 갔다왔는데 5개나 썩았다네요... 평소에 단것을 안좋아하긴 한데 점심은 공부때문에 깜빡하고 저녁은 학원때문에 깜빡하다 보니 하루에 1~2번밖에 양치를 못하다 보니 5개나 썩었나 보네요... 심지어 하나는 신경치료까지 필요해서 거의 80만원 가까이 내게 생겼습니다... 치과검진 1년에 한번씩은 하시고 양치 꼭 하세요 큰일납니다 ㅠㅠ 이제 본론으로 들어가도록 하죠. ssh col@pwnable.kr -p2222 명령어를 사용해 워게임 환경으로 접속해 봅시다. 환경에는 col / col.c / flag 가 존재하네요. flag은 언제나 열리지 않을테니 col.c를 분석해볼게요. 대충 실행 인자값을 4바이트 단위(argv[1]을 int* 단위로 받으..