전체 글

IT 공부
웹 해킹/웹 해킹 및 시큐어 코딩 기초

XXE Injection

1) XXE Injection이란 무엇인가?XML External EntityXML 외부 개체 주입 → XXE Injection XML : 데이터를 효율적으로 주고 받기 위해 만들어진 마크업 언어클라이언트와 서버가 통신할때 어떤 데이터 형식으로 주고 받을지 결정하게되는데, 그 형식이 XML 이다.최근에는 XML → JSON 으로 데이터 형식이 많이 변경되었다. (JSON 등장 이후 XML 활용빈도 줄어듬) Entity : 개체 (특정 문자열을 사용할 수 있도록 하는 상용구 역할, 참조) (DTD에 대한 이해가 필요) XXE Injection이란XML을 통해 데이터를 주고 받는 기능에 대해서 외부 개체를 주입하는 공격 (외부 개체 참조 - 외부 파일들을 호출)이를 통해 서버 내 자원(설정파일, 소스코드 등..

웹 해킹/웹 해킹 및 시큐어 코딩 기초

OS Command Injection

1) OS Command Injection이란 무엇인가?시스템 명령어(운영체제 명령어)를 주입하는 공격사용자 입력값에 시스템 명령어를 주입해서 원격으로 시스템 명령어를 실행할 수 있는 공격이다.공격자 의도대로 서버를 제어할 수 있게 된다.웹 서버에 대해 제어권을 얻는다 = 시스템 명령어 실행이 가능하다 = 서버 내 중요정보 열람, 수정, 삭제 가능해당 공격을 통해 웹 서버가 랜섬웨어 공격의 유포지로 활용될 수 있으며, 서버 내 중요파일이 랜섬웨어에 감염될수도 있다. 데이터베이스로 침투, 내부망에 침투하여 기밀 정보를 열람, 직원 PC를 감염시키는 등의 다양한 추가 공격이 가능하다.공격자는 이러한 공격을 통해 기업으로부터 돈을 뜯어낸다.시스템 명령어 실행을 통해서 단순히 해당 공격에서 끝나는 것이 아닌 2..

웹 해킹/웹 해킹 및 시큐어 코딩 기초

SQL Injection 대응 방안

대응 방안 개요일반적인 방법- 시큐어 코딩 → 근본적인 대응 방안- 인라인 보안솔루션(IPS,WAF 등) → 한계가 있다. (우회 할 수 있음) 시큐어 코딩1. Prepared Statement 사용2. 사용자 입력 값 타입에 따른 입력 값 검증 로직 구현3. 길이 제한 Prepared Statement 가 적용되어 있다면 굳이 2,3번을 적용할 필요가 없다.3번 길이제한은 단독으로 사용하면 안된다. → 1번 or 2번과 같이 적용해야 한다.   대응 방안(1) - Prepared Statement 사용Prepared Statement 는 SQL Injection에 대한 방어 뿐만 아니라 성능적인 이점에 의해서 많이 사용된다.하지만 적절하게 사용하지 않는 경우 Prepared Statement 또한 취약..

웹 해킹/웹 해킹 및 시큐어 코딩 기초

SQL Injection

1) SQL Injection이란 무엇인가?SQL은 RDBMS에서 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어다.클라이언트와 웹 어플리케이션이 통신할 때 사용자 입력값에 SQL 구문 삽입을 통해 변조된 SQL 구문을 질의함. 이를 통해 데이터 조회, 삭제 등의 다양한 공격이 가능하다.  2) 취약점 발생 원인1. 공격자는 취약한 웹 어플리케이션을 대상으로 SQL 구문을 삽입한다.2. Server-Side Script에서 사용자 입력값을 받게되며, 미완성된 SQL 구문이 사용자 입력값을 통해서 완성된 SQL 구문으로 만들어진다. → 취약점 발생(입력 값 검증 없이 구문 조합하게 되는 경우)3. 완성된 SQL 구문으로 DB에 질의를 요청하게 된다.(변조된 SQL로 질의)4. DB는 질의에 대한..

웹 해킹/웹 해킹 및 시큐어 코딩 기초

버프 스위트(Burp Suite) 설치 및 사용법

버프 스위트(Burp Suite) 설치 및 프록시 설정구글에 burp suite download 검색 후 공식 홈페이지 접속하여 설치Pro 버전은 스캐너가 추가된 것이며, 무료 버전인 Community 버전을 사용한다.https://portswigger.net/burp/communitydownload 위 홈페이지 접속 후 Go straight to downloads를 클릭하여 바로 다운로드 페이지로 이동한다. Community Edition 선택 후 Download 버튼 클릭하여 다운로드 받는다. 다운로드 후 next 를 클릭하여 설치 완료한다.웹 브라우저에서 프록시로 향하는 통신을 설정해줘야 한다. 프록시 설정 방법1) 인터넷 옵션2) 웹 브라우저 확장 프로그램 설치 통신 방향은 다음과 같다. 클라이언..

웹 해킹/웹 해킹 및 시큐어 코딩 기초

웹 해킹에 대한 이해

웹 해킹이란 무엇인가?웹 서비스 상에서 발생될 수 있는 모든 보안 허점을 이용해 악의적인 행위를 하는 것= 웹 어플리케이션 해킹 웹 어플리케이션이란? = 웹 프로그래밍 언어(JSP, PHP, ASP 등)로 작성된 프로그램, 어플리케이션= 웹 브라우저를 통해서 방문하는 웹 사이트   해커들의 타겟, 웹 서비스방화벽 도입 후 웹 해킹 빈도가 높아졌다.방화벽은 IP와 Port를 기반으로 패킷을 필터링 한다. → OSI 7계층의 3,4계층 웹 서비스(대외 서비스) : HTTP(80), HTTPS(443)그 외 서비스: SSH(22), Telnet(23), FTP(21) 등웹 서비스를 제외한 나머지 서비스는 굳이 필요하지 않으므로 방화벽에서 차단한다.그러므로 웹 서비스에 대한 공격이 들어올 수 밖에 없고, 그에 ..

Security Engineer
IT-log