본문 바로가기

전체 글377

[los 문제풀이] WOLFMAN // 힌트를 제공 해드릴뿐, payload는 알려드리지 않습니다. 위에 보이는 문제에서 핵심인 부분만 이해해보자. 첫 번째 preg_match : 파일에 직접적으로 접근할 수 없도록 입력값에 prob _ . ( )을 막아둠. 두 번째 preg_match : 입력값에 공백을 막아둠. url로 pw를 받는 쿼리문에서 id가 admin이라면 풀리는 문제이다. 그럼 쿼리문에 'or id='admin 를 쓰면 될 거 같은데 공백이 막혀있다. 대체할 방법은 뭐가 있을까? 공백 대신 사용할 수 있는 것들 1) 탭 : %09 2) 주석 : /**/ 3) \n : %0A 그외 %0B %0C %0D 가능 혹은 공백을 사용하는 or 말고 다른 걸 사용하면 되는 거 아닌가. or 대신 사용할 수 있는 것 1) || 풀었다. 2020. 4. 28.
[운영체제] 병행성 제어와 교착상태 병행성(Concurrency)이란? : 두 개 이상의 프로세스들이 동시에 존재하고, 병렬적으로 실행될 수 있는 상태를 말한다. 병행성 제어(Concurrency Control)란? : 두 개 이상의 프로세스들이 처리될 수 있는 병행 프로세스는 문제점을 가지고 있다. 컴퓨터는 한정된 자원(CPU, 메모리, 디스크 등)을 사용해야 하므로 프로세스가 여러 개가 동시에 작업되는 경우에는 충돌이 일어날 수 있는데, 이것을 해결하기 위해 상호 배제 기법, 임계 영역, 동기화 기법 등을 통해 병행성을 제어할 수 있다. ① 상호배제(Mutual Exclusion Techniques) : 한 프로세스가 공유 메모리 혹은 파일을 사용하고 있을 때, 다른 프로세스들이 공유 자원을 사용하지 못하도록 배제시키는 제어 기법이다... 2020. 3. 6.
[운영체제] CPU 스케줄링 알고리즘 ■CPU 스케줄링 알고리즘■ ① FCFS(First Come First Service) : 가장 간단한 CPU 스케줄링 알고리즘으로, 대기 큐에 도착한 순서에 따라 CPU를 할당한다. 또한 비선점 스케줄링 기법이다. ② SJF(Short Job First) : SJF 스케줄링은 장기 스케줄링에서 자주 사용되는 알고리즘이며, 수행 시간이 가장 짧다고 판단되는 프로세스부터 먼저 CPU를 할당한다. FCFS보다 평균 대기 시간을 짧은 것에 비해, 큰 작업에 대해서는 FCFS 보다 대기 시간 예측이 어렵다. 비선점 스케줄링 기법이다. ③ 라운드 로빈 스케줄링(Round Robin Scheduling) : RR 스케줄링은 CPU 시간이 만료될 때까지 처리를 완료하지 못할 경우, CPU는 준비 큐에 있던 다음 프로.. 2020. 3. 5.
[운영체제] CPU 스케줄링이란? CPU 스케줄링(CPU Scheduling)이란? : 컴퓨터 자원을 효율적으로 관리하기 위해 프로세스들 사이에서 CPU 할당을 위한 우선순위를 관리하는 일 □역할에 의한 구분□ 1) 장기 스케줄러(Long-Term) - 실행할 작업을 준비 큐에서 꺼내 메인 메모리에 적재함. >> 작업 스케줄링, 상위 스케줄링으로도 불림 - 메인 메모리에 적재된 프로세스의 양을 판단하여 조절함. >> 멀티 프로그래밍의 정도를 결정 - Admit(생성->준비), Release(실행-> 종료) 일 때 관리. 메모리와 디스크 사이의 스케줄링을 담당 2) 중기 스케줄러(Mid-Term) - 어떤 프로세스들이 CPU를 할당받을 것인지 결정함. - CPU 사용에 대한 프로세스들을 중재하여 일시 보류&재활성화함. >> 교체(swapp.. 2020. 3. 3.
[운영체제] 프로세스란? (+ 문맥전환이란?) 프로세스란? 프로세스(process)란 실행 중인 프로그램을 의미한다. 고로 레지스터, 스택, 포인터, 실행 중인 프로그램, 데이터 등으로 구성된 집합체이다. 프로세스 내부에는 최소 하나의 스레드(thread)를 가지고 있다. 조금 이해하기 어려울 수 있지만, 하드디스크에 프로그램을 실행하면, 실행을 위한 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 되는데 이것을 "프로세스"라고 부른다. 스레드란? 스레드(thread)란 프로세스 내부의 작업의 흐름, 단위를 의미하는 것으로, 프로세스에서 실행의 개념만을 분리한 개념이다. 스레드가 여러개 존재하는 것을 멀티스레드(multithread)라고 하는데, 멀티스레드에서 각 스레드끼리는 프로세스의 일정 메모리 영역을 공유한다. ■프로.. 2020. 3. 3.
[운영체제] 운영체제란? 운영체제란? 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다. 컴퓨터 사용자와 하드웨어 간의 인터페이스로서 동작하여 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해주며, 대표적으로 유닉스, 리눅스, 윈도우가 있다. 운영체제의 목적 1. 처리 능력 향상 : 자원 처리량, 자원 처리 시간을 증진. 2. 신뢰성 : 주어진 기능을 정확히 수행. 3. 응답시간 단축 : 시스템에 작업을 의뢰한 반응 시간을 단축. 4. 자원 활용률 향상 : 자원을 효율적으로 활용. 5. 가용성 향상 : 고장과 오류의 영향을 최소화시킴. 운영체제의 기능 (자원) 1. 프로세스 관리.. 2020. 3. 3.
webhacking.kr 24번 문제 풀이 1) extract($_SERVER); // SERVER 추출 2) extract($_COOKIE); // COOKIE 추출 $REMOTE_ADDR을 $ip 변수에 넣는데 $REMOTE_ADDR이 무엇일까? "환경변수"이다. php에서는 프로그래머가 사용하기 쉽도록 여러가지 필요한 변수들을 미리 정의해 놓는다. 앞서 우리가 SERVER의 REMOTE_ADDR을 추출했고, 그 뒤에 COOKIE도 추출했는데 만약 쿠키에도 REMOTE_ADDR이 존재한다면, 그 값이 변할 것이다. 따라서 우리는 쿠키를 조작하여 이 문제를 풀 수 있다. (SERVER와 COOKIE의 내부 속성들) - REMOTE_ADDR : 현재 페이지를 보고 있는 시스템의 IP 주소. - REMOTE_PORT : 사용자의 시스템이 웹 서버와.. 2019. 12. 24.
webhacking.kr 54번 문제 풀이 f12를 눌러 script부분을 보자. 1) run( ) 함수 // Ajax를 위한 객체를 생성하는 함수. Ajax는 Asynchronous JavaScript and XML의 약자로, 자바스크립트를 이용하여 비동기적으로 서버와 브라우저가 데이터를 주고받는 방식. 2) x = run(); // run( ) 함수로 생성된 객체는 x에 저장. 3) answer( ) 함수 XHR오브젝트는 void open(string method, string url, boolean asynch, string username, string pw) 메소드 void send(content) 등이 존재함. 주로 open(), send() 메소드가 가장 많이 사용되는 메소드임. - x.open('GET', '?m='+i, false.. 2019. 12. 24.
[리버싱] OllyDBG 단축키 모음 >> 단축키는 자신이 사용하기 나름이지만, 주로 ctrl+F2/ F7/ F8/ F9/ F2를 사용하였다. 2019. 11. 7.