본문 바로가기

분류 전체보기

(70)
[웹 애플리케이션 취약점] 경로 추적 취약점 경로 추적 취약점Path Traversal, 조작/경로 순회 취약점 ① 개념웹서버와 웹 애플리케이션 파일 또는 디렉터리 접근이 통제되지 않아 웹서버 또는 웹 애플리케이션의 중요한 파일과 데이터에 대한 접근 및 실행이 허용되는 취약점웹 애플리케이션 루트 디렉터리를 벗어나 시스템의 주요 파일과 데이터에 접근.일반적으로 경로를 조작하기 위해 상대경로 참조방식(../,..\ 등)을 사용한다.주요 경로 조작 문자 및 인코딩 방식경로 조작 문자./\1. (유닉스/리눅스) ./(현재 디렉터리), ../(상위 디렉터리)2. (윈도우) .\(현재 디렉터리), ..\(상위 디렉터리)URL 인코딩.(%2e)/(%2f)\(%5c)더블 URL 인코딩.(%252e)/(%252f)\(%255c)URL 인코딩된 문자열을 한번 더 인..
[웹 애플리케이션 취약점] 파일 다운로드 취약점 파일 다운로드 취약점① 개념파일 다운로드 기능이 존재하는 웹 애플리케이션에서 파일 다운로드 시 파일의 경로 및 파일명을 파라미터로 받아 처리하는 경우, 이를 적절히 필터링하지 않으면 공격자가 경로 및 파일명을 조작하여 허용되지 않은 파일을 다운받을 수 있는 취약점공격자는 취약점을 이용하여 중요한 파일(데이터베이스 연동 파일 등)을 다운받을 수 있다. ② 공격과정파일 다운로드 시, URL 파라미터를 살펴 실제 저장된 파일명과 원본 파일명을 유추한다.(ex. real_name=1234&show_name=show)파일 다운로드 취약점이 존재하는 페이지면 실제 파일명을 의미하는 파라미터를 조작해 허용되지 않는 파일을 다운로드 한다. ③ 취약점 판단기준게시판, 자료실 등 파일 다운로드가 가능한 페이지의 URL/파..
[웹 애플리케이션 취약점] 파일 업로드(File Upload) 취약점 ① 개념파일 업로드 기능이 존재하는 웹 애플리케이션에서 업로드 파일에 대해 적절한 필터링을 하지 않을 경우, 허가되지 않은 파일들이 웹서버로 업로드될 수 있는 취약점(취약점 1) 업로드 파일 타입,확장자를 체크하지 않고 업로드를 허용하는 경우 (웹쉘)webshell이 업로드(취약점 2) 업로드하는 파일 개수나 크기에 제한을 두지 않을 경우 다량의 큰 파일을 전송해 시스템 장애(피해자) 서버, 해당 웹을 이용하는 사용자 ② 공격 과정공격자는 게시판을 이용해 웹쉘(webshell.php) 파일 첨부POST 요청의 multipart/form-data 형식(MIME타입) 으로 서버 전달(APM 환경) 파일명은 webshell.php이고 파일 내용은 base-64로 인코딩되어 전달됨(APM 환경) 내용을 살펴보면..
[웹 애플리케이션 취약점] 운영체제 명령 실행 취약점 운영체제 명령 실행 취약점(OS Commend Execution) ① 개념적절한 검증 절차(필터링 등)를 거치지 않은 사용자 입력값이 운영체제 명령어의 일부 또는 전부로 구성되어 실행되는 경우, 의도되지 않은 시스템 명령어가 실행되어 운영에 악역향을 끼치는 취약점(취약점) 웹 애플리케이션에서 시스템 명령어(system(), exec() 등)를 실행할 수 있는 함수를 제공하며, 사용자 입력값에 대한 필터링이 제대로 이루어지지 않을 경우 발생한다.(공격 결과) 시스템 계정 정보 유출, 백도어 설치, 관리자 권한 탈취 등의 공격을 수행한다.② 공격 과정공격자는 입력 폼에 시스템 명령어를 삽입한다.같은 리눅스 명령어가 실행될 수 있는 페이지(ex. ip 입력시, ping 명령을 테스트한 결과를 반환하는 페이지)..
[웹 애플리케이션 취약점] XSS CSRF SSRF 크로스 사이트 스크립트(XSS:Cross Site Script) ① 개념공격자가 입력이 가능한 폼(웹브라우저 URL 또는 게시판 등) 에 악의적인 스크립트를 삽입, 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 공격을 수행하는 것(입력값) 스크립트(악성코드 동작 위치) 희생자공격자는 취약점을 이용해 사용자의 개인정보 및 쿠키 정보 탈취, 악성코드 감염, 웹페이지 변조 등의 공격을 수행한다.② 공격 유형Stored XSS(저장형 XSS) : 공격자가 취약한 웹서버에 악성 스크립트를 저장(게시판 등을 통해 DB에 저장)해놓으면 희생자가 해당 자료를 요청(게시물 클릭 등)할 때, 해당 악성 스크립트가 삽입된 응답 페이지가 전달되어 클라이언트 측에서 동작하는 방식공격 과정공격자는 게시판을 이용해 악성 ..
[웹 애플리케이션 취약점] SQL Injection 취약점 SQL Injection보안 공부를 안해도 들어봤을 그 이름. sql을 알아야 이해 가능① 개념Web Application(웹 브라우저 등)에서 입력받아 데이터 베이스로 전달하는 정상적인 SQL 질의를 변조, 삽입하여 비정상적인 데이터베이스 접근(불법 로그인, DB 데이터 열람, 시스템 명령 실행 등)을 시도하는 공격기법조작한 입력으로 데이터베이스를 인증 절차 없이 접근 및 자료를 무단 유출하거나 변조할 수 있음피싱사이트 유도 : DB에 악성 스크립트 삽입해 접근하는 사용자를 피싱사이트로 유도OS 명령 실행 : Store Procedure를 통한 OS 명령어 실행개인 정보 획득무료 SQL Injection 취약점 스캐너Nikto : GNU 기반 오픈소스로 웹서버 및 SQL Injection에 대한 취약점..
[애플리케이션 기본학습] DHCP 프로토콜 DHCPDynamic Host Configuration Protocol① 개념동적으로 클라이언트의 네트워크 주소(IP)를 설정하기 위한 프로토콜 server: 67/udp / client: 68/udp 사용 ② 관련 명령어ipconfig /release : 할당받은 IP 주소 해제ipconfig /renew : 새로운 IP 주소를 DHCP 서버로부터 받는다. ③ 동작 방식(Client -> Server) DHCP Discover : DHCP 서버를 찾기 위한 메시지. MAC 주소를 담아서 보냄(Server -> Client) DHCP Offer : DHCP 서버가 클라이언트에게 IP 정보 제공(Client -> Server) DHCP Request : 해당 IP를 사용하겠다고 서버에게 요청하는 메시지...
[애플리케이션 기본학습] SNMP 프로토콜 SNMPSimple Network Management Protocol ① 개념TCP/IP 기반 네트워크상의 각 호스트로부터 정기적으로 여러 관리 정보를 자동으로 수집하거나 실시간으로 상태를 모니터링 및 설정할 수 있는 서비스. 단순히 프로토콜이기 때문에, 이를 활용하여 실제 네트워크 관리 정보를 얻기 위해서는 관련 프로그램이 준비되어 있어야한다.시스템이나 네트워크 관리자가 원격으로 네트워크 장비를 모니터링하고 환경 설정 드의 운영을 할 수 있도록 하는 네트워크 관리 프로토콜이다.관리의 편의성을 주지만, 여러 취약점이 존재하여 DoS, 버퍼 오버플로우, 비인가 접속 등 여러 가지 문제점이 발생할 수 잇다.네트워크 관리를 위한 목적으로 주로 서버나 네트워크 장비에서 SNM를 설정한 후 MRTG 프로그램을 이..