pwnable.kr ==> mistake 문제 풀기
·
시스템해킹/pwnable.kr
문제풀이 환경 - 우분투 접속 - ssh mistake@pwnable.kr -p2222 (pw : guest) 힌트 - operator priority (연산자 우선순위) 실행 화면 무슨 파일이 있는지 먼저 확인해보도록 하자 문제풀이를 위해서 우선 mistake의 소스로 보이는 mistake.c 파일을 열어 보자 코드 설명 if(fd=open("/home/mistake/password", O_RDONLY, 0400) < 0) open 함수의 원형 int open (const char *FILENAME, int FLAGS[, mode_t MODE]) const char *FILENAME : 읽을 파일 명 int FLAGS [ : 파일을 여는 옵션 mode_t MODE : O_CREAT옵션일 경우 필요한 접..
BlackJack 취약점 찾기
·
시스템해킹
코드 https://cboard.cprogramming.com/c-programming/114023-simple-blackjack-program.html Simple Blackjack Program Replies: 10 Last Post: 09-09-2004, 05:48 AM cboard.cprogramming.com C언어로 코딩된 블랙잭 게임 프로그램이다. 우리는 이 블랙잭 게임에서 부자가 되는 방법을 찾을 것이다. 취약점-1 - 우리의 목적은 부자가 되는 것, 그렇다면 우선 코드를 볼때 배팅하는 부분을 분석해보는 것이 좋을 것이다. int betting() //배팅 금액을 물어보는 함수 { printf("\n\nEnter Bet: $"); scanf("%d", &bet); if (bet > cash..
한번쯤은 들어봤을 개발언어 10가지
·
기타
1. 자바(JAVA) 인기 많은 프로그래밍 언어로 검색 알고리즘, 신경망, 자연어 처리기를 제공해 인공지능 프로그래밍에 도움이 많이 된다. 또한 다양한 임베디드 유형의 가용성을 기반으로 다양한 애플리케이션에서 선호되며, 뛰어난 이식성을 보여준다. 안드로이드 플랫폼에서 많은 비중을 차지하고 있다. 2. C# 마이크로소프트와 아주 밀접한 관계를 가지고 있는 언어로 높은 수준에의 객체지향 프로그래밍 언어로 마이크로소프트 관련 앱 개발에 관심이 있으면 배우는 게 좋다. 웹 애플리케이션은 물론 유니티와 같은 게임 엔진 개발에도 사용된다. 자바와의 스타일이 비슷 하다. 3. 파이썬(Python) 널리 사용되는 프로그래밍 언어로 단순하고 깔끔한 구조로 AI에서 많이 사용된다. 파이썬에서 지원하는 알고리즘을 이용해서 ..
절대경로 and 상대경로
·
기타
경로 파일 시스템 내에서 특정 파일의 위치, 이름을 나타내는 양식 절대 경로 작업 디렉터리와 상관없이 절대적인 파일의 위치를 가리키는 경로 절대적인 주소 윈도 명령 프롬프트에서 절대 경로를 이용해서 폴더를 이동한 모습. system32의 위치는 변하지 않으니 그 경로를 직접 입력하여 바로 연결시켜주는 방법이다. 상대 경로 작업 디렉터리를 기준으로 상대적인 파일의 위치를 가리키는 경로 상대적인 주소 지정된 폴더내의 파일명을 지정하면 찾아서 매칭 시킴 윈도 명령 프롬프트에서 상대 경로를 이용해서 폴더를 이동한 모습 상위로 두 단계 이동한 후에 옮겨가는 것. 폴더의 위치를 대략적으로 알고 있어야 함 폴더 이동시 알아야 할 것 / : 최상위 경로 ./ : 현재 디렉터리 ../ : 상위 디렉터리 상위 폴더를 모르..
DNS란 무엇인가?
·
네트워크
DNS정의 한 번쯤은 들어봤을 DNS, 도메인 네임 시스템(Domain name system)으로 사람이 읽는 주소(https://www.naver.com)를 (125.209.222.142)로 변환하여 컴퓨터가 읽을 수 있게 변환시킨다. DNS 동작 원리 및 정보전달의 흐름 1. 웹 브라우저에 www.naver.com을 입력하면 먼저 Local DNS에게 "www.naver.com"이라는 hostname"에 대한 IP 주소를 질의하여 Local DNS에 없으면 다른 DNS name 서버 정보를 받음(Root DNS 정보 전달 받음) 2. Root DNS 서버에 "www.naver.com" 질의 3. Root DNS 서버로부터 "com 도메인"을 관리하는 TLD (Top-Level Domain) 이름 서버..
PYTHON 객체와 클래스
·
파이썬
클래스(Class)와 객체(Object) 클래스와 객체를 설명할 때 가장 쉽게 설명하는 방법은 위의 그림과 같다 - 클래스 : 그림속의 모형틀 - 객체 : 모형틀을 이용해서 나온 결과물 로 이해하면 편하다 ■ 클래스(Class) 와 객체(Object) 만들기 클래스는 앞서 모형틀을 의미한다고 정의했다. 모형틀은 한 가지만 있는 게 아니고 여러 가지가 존재할 것이다. 사람 모양, 동물 모양 등등.... 이러한 모양으로 찍혀 나온 결과물을 우린 객체라고 부른다. 클래스와 객체는 한 번에 움직이기 때문에 같이 설명하겠다. 그렇다면 클래스는 왜 사용하는 것일까? 사칙연산을 진행하는 계산기를 보게되면 알 수 있는데, 함수를 이용해서 계산기를 만들면 다음과 같다. rel = 0; def add(num): globa..