분류 전체보기
-
<Linux 마스터 2급> IP 주소와 도메인Linux 마스터 2급 2021. 11. 26. 18:32
■IPv4 주소 체계 1. IPv4 주소는 4개의 옥텟(octet)으로 구성 2. 각 옥텟은 8비트이므로 IPv4는 총 32비트 3. IP 주소는 5개의 클래스 A, B, C, D, E로 구분 - A Class(1-126, 127 Localhost) - B Class(128-191) - C Class(192-223) - D Class(224-239) - E Class(240-255) : IP 주소 부족을 위해 예약해 놓은 것 4. IP 주소는 네트워크 ID(네트워크 주소)와 호스트 ID(네트워크 내 호스트 주소)로 구성 5. 서브넷 마스크는 네트워크 부분과 호스트 부분을 구분해 주는 값 Network 주소 · 호스트 ID의 주소가 모두 0인 주소 · 네트워크를 대표하는 값 Direct Broadcast ..
-
<Linux 마스터 2급> 전송 계층 프로토콜Linux 마스터 2급 2021. 11. 26. 17:58
■전송 계층 프로토콜 1. TCP - 근거리 통신망에서 실행되는 프로그램 간에 처리과정을 순차적이며, 오류 없이 교환할 수 있게 하는 프로토콜 - 연결 지향 프로토콜로 전송 전에 송수신지 사이에 연결이 설정되어야 함 - 신뢰할 수 있는 방법 - 전송속도는 UDP 보다 느림 - FTP, Telnet, SMTP, DNS, HTTP, POP 등 - 연결설정, 데이터 전송, 연결해제 상태를 거침 - 연결설정은 3-Way Handshaking, 연결해제는 4-Way Handshaking(3-Way Handshaking도 가능) 2. UDP - IP를 사용하는 네트워크 내에서 컴퓨터들 간에 메시지들이 교환될 때 제한된 서비스만을 제공하는 통신 프로토콜 - 비연결 지향, 송수신지 사이에 연결설정 없이 데이터 송신 가..
-
<Linux 마스터 2급> 인터넷/네트워크 계층 프로토콜Linux 마스터 2급 2021. 11. 26. 17:18
■인터넷/네트워크 계층 프로토콜 종류 주요 기능 IP · 송수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 규약 · TCP에 의해 패킷으로 변환된 데이터를 데이터 링크에 전달 · 비신뢰성, 비연결형 서비스 지원, 호스트의 논리 주소 지정 · MTU(최대 전송 단위)를 초과하는 데이터에 대해 단편화 및 재조립 수행 ICMP · Internet Control Message Protocol · 송신 시스템에게 IP 전달에 대한 다양한 메시지를 전달하기 위한 프로토콜 · 망 내 교환 장비들이 오류 상황에 대한 보고를 할 수 있게 하고, 예상하지 못한 상황이 발생할 경우 이를 알릴 수 있도록 지원 · 오류 보고 메시지와 질의 메시지로 구분 - 오류 보고 메시지는 IP 패킷 처리 도중 발생한 문제를..
-
<Lord of SQL Injection> evil wizardWargame/Lord of SQL Injection 2021. 11. 26. 13:13
evil wizard 앞서 풀었던 'hell fire'와 비슷하지만 sleep과 benchmark를 필터링한다. 출제자의 의도와 달리 앞의 문제에서 exp(1000)을 이용해 문제를 풀었기 때문에 이 문제도 똑같이 풀면된다. ■참과 거짓 구분하기 ?order=1 and id='rubiya' and if(substr(email,1,1)='r', exp(1000), 1)을 입력하면 rubiya의 email 첫 글자가 'r'로 참을 나타내므로 exp(1000)에 의해 테이블의 데이터가 출력되지 않는다. ?order=1 and id='rubiya' and if(substr(email,1,1)='a', exp(1000), 1)를 입력하면 테이블의 데이터가 출력된다. 즉, 참일 때는 테이블의 데이터가 출력되지 않고..
-
<Webhacking.kr> old-11Wargame/Webhacking.kr 2021. 11. 25. 15:02
old-11 "Wrong" 메시지만 출력한다. view-source를 통해 페이지 소스 코드를 살펴보면 정규표현식과 자신의 IP주소로 이루어진 $pat이 있다. 이 $pat이 GET 방식으로 전달받은 val과 같으면 문제가 풀리게 된다. [1-3] : 1~3 중 하나의 숫자 [a-f]{5} : a~f 중 하나의 문자를 5번 반복 _ : '_' 문자 .*~.* : .* 뒤에 0개 이상의 문자열을 .*까지 반복 \t : tab을 의미(URL encoding 방식으로 %09) 따라서, ?val=1aaaaa_자기 IP주소%09p%09a%09s%09s를 입력하면 문제를 해결할 수 있다. 만약, 자신의 IP주소를 입력해도 되지 않는다면 검색엔진에 "내 IP 주소 확인"을 통해 IP 주소를 확인해보자.
-
<Lord of SQL Injection> hell fireWargame/Lord of SQL Injection 2021. 11. 25. 13:19
hell fire 전달받은 order에서 prob, _, ., proc, union을 필터링한다. 올바른 email을 찾으면 문제를 해결할 수 있다. select id,email,score from prob_hell_fire where 1 order by {$_GET[order]} 위 소스 코드에서 3개의 열(id, email, score)를 가지는 것을 알 수 있다. order를 3개의 열 중 하나인 id순으로 정렬하기 위해 ?order=id를 입력하면 소스 코드에 나와있는 대로 id가 "admin"이면 email은 "**************"로 출력하고, id가 "rubiya"인 경우 email은 "rubiya805@gmail.cm"인 것을 확인할 수 있다. 올바른 email을 찾기 위해 email..
-
<Lord of SQL Injection> dark eyesWargame/Lord of SQL Injection 2021. 11. 24. 18:25
dark eyes 전달받은 pw에서 prob, _, ., ()를 필터링한다. 그리고 이전의 문제와 달리 col, if, case, when, sleep, benchmark를 필터링한다. ?pw='를 입력하면 빈 화면을 출력한다. 즉, 쿼리에 오류가 있으면 exit()을 통해 빈 화면을 출력한다. pw의 길이는 ?pw=' or id='admin' and (select 1 union select (length(pw)=문자열 길이))%23로 알아볼 수 있다. (and가 or보다 우선순위가 높음) ?pw=' or id='admin' and (select 1 union select (length(pw)>10))%23을 입력하면 빈 화면을 출력하고 ?pw=' or id='admin' and (select 1 uni..
-
<Webhacking.kr> old-10Wargame/Webhacking.kr 2021. 11. 23. 16:31
old-10 O에 마우스를 가져가면 yOu로 바뀌고, 클릭하면 오른쪽으로 조금 움직인다. O를 Goal라인으로 가져가라는 것 같다. 직접 눌러서 해보니 굉장히 오래 걸린다. 페이지 소스 코드를 살펴보면 id="hackme"라는 a 태그가 있다. O의 처음 좌표가 나오고, 눌렀을 때 parseInt로 현 x좌표에 1을 더하여 움직인다. 이 O의 x좌표가 1600이 되었을 경우, ./?go=1600px로 이동하게 된다. 그래서 ./?go=1600px를 입력하면 "no hack" 메시지를 출력한다. 바로 접속하지는 못하는 것 같다. 그럼 처음 위치를 옮길 수 있다. O의 x좌표가 1600까지 가면 되기에 1599로 주면 이제 O를 한번 더 클릭하면 문제를 해결할 수 있다.