일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 8086CPU레지스터
- 신경망
- 항등함수
- 활성화함수파이썬
- 파이썬신경망
- 신경망파이썬
- 알고리즘
- 머신러닝
- 인공지능
- 소프트맥스함수
- 보안
- 밑바닥부터시작하는딥러닝
- 딥러닝파이썬
- C언어알고리즘
- 달고나bof
- 파이썬
- 딥러닝
- 신경망 학습
- 정보보안
- C알고리즘
- BOJ
- FTZlevel10
- 백준알고리즘
- 버퍼오버플로우
- 백준
- 스트림암호
- BOF
- 신경망구현
- c언어
- C언어 알고리즘
- Today
- Total
목록분류 전체보기 (235)
HeeJ's
리버싱(reverse engineering) : 역공학 프로그램을 소스코드 단계로 되돌려서 분석하는 것 (악성코드도 완성된 프로그램이기 때문에 분석하려면 리버싱이 필요) C(소스코드) -> 01011(기계어) : 컴파일 01011(기계어) -> 어셈블리 코드 : 디스 어셈블 어셈블리 코드는 주로 IA-32(Manual)를 사용함(Intel 32bit) 기본 형태 : 명령어(opcode) + 인자(operand 1~2) CPU가 사용하는 변수(32bit) 레지스터 역할 레지스터 역할 EAX(Accumulator) 각종 연산에 사용 가장 많이 쓰이는 변수 주로 리턴 값을 저장 ESI, EDI (source Index, destinationIndex) 문자열이나 각종 반복 데이터를 처리 메모리를 옮기는데 사용..
두 번째 문제인 collision에 접속 실습 환경 : VMware Workstation / KaliLinux 2021.3 이번에도 저번 fd 문제처럼 col 실행파일, c파일과 flag를 확인할 수 있다. 바로 cat 명령어를 통해 col.c를 읽어보았다. 코드를 읽어보니 일단, 인자는 20bytes여야 한다. 그리고 check_password()함수를 통해 hashcode와 같은 값을 출력하게 되면 flag를 얻을 수 있다. check_password 함수에서 int형 포인터로 변환했기 때문에 4bytes씩 5번 접근한다는 걸 확인할 수 있다. 그렇다면 hashcode를 5로 나누어 5번 20bytes로 늘려 입력해준다면 flag를 얻을 수 있다. 21DD 09EC를 5로 나누면 6C5 CEC8이다...
fd 문제에 접속했다. 실습 환경 : KaliLinux 2021.3 dir 명령어를 통해 현재 있는 디렉터리를 확인했다. flag라는 파일을 발견해 cat을 통해 flag를 확인하려 했다. 하지만 권한이 없어 거부되었다. fd.c를 읽어보니, flag를 직접 실행시키는 것이 아닌 조건을 맞추어 system으로 실행시키는 문제인 것 같다. *atoi() 더보기 * atoi() a to i 로 읽을 수 있다. 즉, char to int. 문자열을 정수타입으로 바꿔주는 함수이다. 우선 함수를 실행시킬 때 값을 입력해주어야 한다. 이 입력 값을 정수타입으로 바꿔준 후, 0x1234를 빼준다. 그리고 그 값(fd)이 read 함수의 인자로 들어가게 된다. 그 후, 입력한 문자열이 'LETMEWIN'과 동일하다면,..
1. 완전 자동화 분석(Fully-automated analysis) - 정적 분석 및 동적 분석을 통해 악의적인 행위를 판단 - 자동 분석 수행 (파일 생성, 수정 과정의 분석, 레지스트리 분석, 네트워크 분석 등) - 상세하거나 정확하지 않을 수 있음 - 악성코드 분석 제공 서비스 2. 정적 속성 분석 - 악성코드의 추가 분석을 위해 필요한 단계 - 문자열 헤더 정보, 해시 값, 리소스 정보, 패킹 여부 등 신속하게 정보 획득 - 정보들을 활용해 실해 파일 간의 비교 데이터베이스 구성 - 바이러스 토탈 서비스 3. 대화형 동적 분석 - 레지스트리, 파일시스템, 프로세스, 네트워크 활동을 이해하기 위해 분리된 가상 머신 환경에서 실행하며 분석 - 메모리 분석을 통해 다른 행위를 추가적으로 분석 - 악의..
Kotlin - 자바와 100% 상호 호환 -> 자바 코드를 완전히 대체 가능 - 자바보다 문법이 간결함 - 데이터 형식 선언 없이 변수를 선언할 수 있음 변수와 데이터 형식 fun main() { var var1 : Int = 10 var var2 : Char = '안' var var3 : String = "안녕하세요" println(var1) println(var2) println(var3) } //출력 결과 // 10 // 안 // 안녕하세요 코틀린에서는 ;(세미콜론)을 사용하지 않는다. char는 한 글자만 지원하고, 문자열을 사용하고 싶을 땐 String을 사용한다. fun main(){ var var1 = 10 var var2 = '안' var var3 = "안녕하세요" println(var1..
점근적 실행 시간(asymptotic runtime), big-O [시간 복잡도] 파일을 전송한다고 할 때, O(s), 온라인 전송을 한다고 하면, s는 파일의 크기가 된다. 파일의 크기가 증가함에 따라 전송 시간 또한 증가한다. 하지만 직접 전달(비행기, 자동차 등)을 이용한다면 파일 크기에 상관 없이 O(1)(상수)일 것이다. 파일의 크기가 증가한다고 해서 파일을 전송하는데 걸리는 시간이 늘어나지 않는다. big(O) 수행시간을 크게 세 가지로 나눠서 표기할 수 있다. 1. O(big-O) 시간의 상한을 나타낸다. O(N)으로 표기하지만, N보다 큰 숫자도 표현할 수 있다. O(N^2), O(N^3), O(2^N) 등으로도 표현할 수 있다. 이는 O(N)보다 큰 어떤 수행 시간으로도 표현이 가능하다...
DOM에 스크립트를 삽입하지 않고 문제를 풀어야 한다고 한다. DOM이란 무엇일까? 더보기 Document Object Model 웹 페이지(HTML)에 대한 인터페이스 1. 뷰 포트에 무엇을 렌더링 할 지 결정하기 위해 사용 2. 페이지의 콘텐츠 및 구조, 그리고 스타일이 자바 스크립트 프로그램에 의해 수정되기 위해 사용 원본 HTML 문서 형태와 비슷하지만 몇 가지 차이점이 있다. - 항상 유효한 HTML 형식이다 - 자바 스크립트에 수정될 수 있는 동적 모델이어야 한다. - 가상 요소를 포함하지 않는다.(ex. ::after) - 보이지 않는 요소를 포함한다.(ex. display : none) signup 링크를 클릭하게 되면 ?next=confirm이라는 요청과 함께 다른 페이지로 넘어가게 된다..
이 화면에서 Create timer를 바로 눌러보았다. URL에 바로 timer=3이라고 GET 방식으로 들어가게 되고, 3초가 지나면 바로 alert 창이 뜨게 된다. 입력값이 URL에 들어가기 때문에 적당한 값을 넣어주면 alert창을 띄울 수 있을 것이다. timer 값을 그대로 두고, '를 닫아준 후, 그 뒤에 alert 문을 다시 연결시켜 보았다. (Inejction) URL도 입력 값으로 바뀌었다. alert 창이 뜨면서 문제를 해결할 수 있다.