전체 글
-
<Network> UDP 방식과 TCPNetwork 2021. 11. 10. 23:10
■UDP 전송 방식 송신 측 호스트에서 송신 데이터가 생기면 곧바로 수신 측 호스트에게 전송을 시작한다. 수신 측에서 수신할 수 있는지 여부는 고려하지 않고, 전송 중 오류가 생기는 것도 고려하지 않는다. 무조건 전송만을 수행한다. ■TCP 전송 방식 1. 3-Way Handshaking · 송신 측 호스트에서 송신 데이터가 생기면, 수신 측 호스트에게 SYN이라고 부르는 일종의 동기화 신호를 전송 · 수신 측에서는 송신 측에서 보낸 SYN 신호에 대해 ACK · SYN라고 부르는 신호로 응답을 보냄 · 송신 측 호스트가 수신 측 호스트로부터 ACK · SYN 신호를 받으면 다시 ACK 신호를 전송 2. 데이터 전송 · 3-Way Handshaking을 통해 송신자와 수신자 사이에 연결을 확립한 뒤 실제..
-
<Webhacking.kr> old-03Wargame/Webhacking.kr 2021. 11. 9. 16:52
old-03 하나의 로직 퍼즐 문제가 나온다. 숫자는 색칠이 돼있는 사각형의 개수를 뜻한다. 이 로직 퍼즐을 풀면 위와 같은 모양이 된다. 'solved' 버튼을 누르면 로그에 이름을 기입하라고 한다. 아무 이름을 기입해 보겠다. name, answer, ip가 출력된다. 다른 값(admin, 특수문자 등)을 입력해도 name만 다를 뿐, answer와 ip는 항상 같은 값을 출력한다. SQL Injection 구문을 넣어봤다. 여전히 answer와 ip값은 동일했다. 이렇게 푸는 게 아닌듯하다. 페이지 소스를 살펴보면 POST 방식으로 answer와 id가 전달된다. POST 방식은 BODY에 데이터를 넣어서 보낸다. Burp Suite로 살펴보면 POST 방식으로 "answer=101010000001..
-
<Linux 마스터 2급> 윈도우 매니저와 데스크톱 환경Linux 마스터 2급 2021. 11. 9. 00:13
■윈도우 매니저 1. 윈도우 매니저는 X window상에서 창(window)의 배치와 표현을 담당하는 시스템 프로그램 2. 창 열기와 닫기, 창의 생성 위치, 창 크기 조정, 창의 외양과 테두리를 변화시키기 가능 3. 라이브러리는 Xlib와 XCB를 사용 4. 리눅스에서 사용 가능한 윈도우 매니저들은 다양 윈도우 매니저의 대표적인 종류에는 fvwm, twm, mw, windowMaker, AfterStep 등 윈도우 매니저 특성 fvwm · twm에서 파생 · 안정적이고 일반화되어 오랜 기간 동안 많이 사용 · Virtual Window Manager의 약자로 가상 윈도우 매니저로서 실제로 가상 데스크톱을 지원 twm · X-윈도우 시스템의 초창기 창 관리자 · C로 만들어짐 · 텍스트 형식의 간단한 윈..
-
<Linux 마스터 2급> X-윈도우 설정과 실행Linux 마스터 2급 2021. 11. 8. 22:18
■파일 /etc/inittab 1. init 프로세스가 읽는 파일로, init 프로세스가 무엇을 해야할 것인가를 결정 2. 리눅스 사용 환경을 초기화 · 파일 시스템을 점검 · 서비스 프로세스를 관리 · 가상 콘솔을 관리 · 실행 level을 관리 이름:런레벨:옵션:process -옵션 런레벨 기능 3 텍스트 모드(CUI)에 의한 다중 사용자 모드(제한 없음) 5 그래픽 모드(GUI)에 의한 다중 사용자 모드 ■X-윈도우 실행 1. 그래픽 환경이 아닌 터미널 윈도우로 로그인한 경우에는 몇 개의 프로그램을 실행해야 함 2. 터미널 윈도우의 명령어 프롬프트상에서 " startx--[인자값] "을 실행시켜야 함 3. 명령어 startx는 X-윈도우를 실행하는 스크립트로 시스템 환경을 초기화하고 xinit을 호..
-
<Network> DNS 캐시 테이블Network 2021. 11. 8. 22:06
1. 사용자가 도메인 네임을 입력하면 운영체제는 해당 도메인 네임에 해당하는 IP 주소를 etc/hosts 파일에서 먼저 검색한다. 2. 만약 etc/hosts 파일에 입력한 도메인 네임이 없다면, DNS 캐시 테이블에서 해당 도메인 네임에 대응하는 IP 주소를 검색한다. 3. 그렇지만 DNS 캐시 테이블에도 해당 도메인 네임이 없다면 운영체제는 로컬 DNS 서버의 IP 주소로 입력한 도메인 네임에 대한 질의를 요청한다. 운영체제는 로컬 DNS 서버로부터 도메인 네임에 대한 IP 주소를 응답받으면 해당 내용을 DNS 캐시 테이블에 반영한다. 이처럼 도메인 네임과 IP 주소의 대응 관계를 저장한 테이블을 DNS 캐시 테이블이라 한다. ARP 요청을 받아 목적지 맥 주소를 ARP 캐시 테이블에 반영하는 이치..
-
<Webhacking.kr> old-02Wargame/Webhacking.kr 2021. 11. 8. 17:29
old-02 제한 구역이라 한다. 그리고 내 IP가 로깅 중이라 한다.(로깅이란 로그를 기록하는 행위) 아무런 내용이 없기에 페이지 소스 코드를 먼저 살펴본다. 날짜와 시간은 로그인한 시점을 뜻하는 것 같다. 그리고 뒤의 경고문을 살펴보면 admin.php에 접근하면 될 것 같다. 비밀번호를 입력하는 창이 나온다. 주소 창에 javascript:alert(document.cookie)를 통해 쿠키 값을 살펴본다. 쿠키 값에 time이 있는 것을 확인할 수 있다. time의 값을 변경해 본다.(크롬의 확장 프로그램인 'EditThisCookie'를 사용하면 편하다) 주석에 적힌 날짜와 시간이 변했다. 이번엔 time의 값을 2로 바꿔 봤다. 주석에 적힌 초가 2로 바뀌었다. 즉 참인 뜻을 가지는 자연수를 ..
-
<Lord of SQL Injection> gremlinWargame/Lord of SQL Injection 2021. 11. 7. 23:28
gremlin GET 방식으로 전달받은 id와 pw의 값에 대소문자를 구분하지않고 'prob'나 '_'나 '.'나 '()' 가 포함되어있으면 "No Hack ~_~"를 출력한다. 아무 문자나 넣어도 상관없는 것 같다. mysqli_query() : 데이터베이스에 대한 쿼리를 수행 mysqli_fetch_array() : 결과 행을 연관 배열 또는 숫자 배열로 반환 즉, 'id'의 값이 참이라면 문제가 풀린다. 가장 기초적인 SQL Injection 구문인 or 1=1로 참을 성립하고 뒤는 전부 주석처리를 하면 될 것 같다. 현재 URL뒤에 ?id=문자열' or 1=1 %23을 입력한다.(#을 urlencoding 방식으로 %23)