XSS란?XSS(Cross-Site Scripting)란 동적으로 출력하는 페이지에 대해 클라이언트 언어(Client Side Script)로 작성된 악의적인 스크립트를 삽입하여 비정상적인 행위를 하는 공격을 말한다. 서버 측 공격이 아닌 클라이언트 측 공격이다.Client Side ScriptHTMLCSSJS💡 CSS가 아닌 XSS인 이유CSS와 동의어가 되기 때문에 혼동이 발생하는 것을 막고자 Cross를 X로 표현하였다. 클라이언트 언어로 작성된 스크립트가 실행되면서 A라는 사이트에서 B라는 사이트로 이동되는 형식의 공격이다. 공격 대상1. 기능적인 공격 대상사용자 입력 값을 통해 동적인 웹페이지를 구성한다면 모든 기능이 공격 대상이 된다. 이는 잠재적인 XSS 위협에 노출로 이어진다.사용자 입력..
Security
XXE Injection이란 무엇인가?XML External Entity(XML 외부 개체 주입)오늘 날에는 데이터를 주고받을 때 대부분 JSON을 사용하지만 아직도 XML을 사용하는 곳이 많이 존재한다. XML을 통해 데이터를 주고받는 기능에서 외부 개체 참조를 시도할 때 발생하는 취약점이다. 이를 통해 서버 내의 자원들을 무단 열람할 수 있게 된다. 공격 대상XML 파싱 기능이 있는 어플리케이션에 대해 공격을 시도한다.기존의 레거시 시스템에서는 메시지 바디에 XML 형태로 데이터가 전송되는 경우가 있다. 그런 경우 XML 파싱 기능이 존재함을 확인할 수 있다. 하지만 최근 기업들은 데이터 전송 포맷으로 JSON을 사용하기 때문에 공격 대상이 레거시 시스템을 운영하는 기존의 기업들로 한정된다. 따라서 ..
OS Command Injection이란? 운영체제 명령어 주입으로,원격으로 시스템 명령어를 실행하여 공격자 의도대로 서버를 제어하는 공격이다.DMZ 구간의 웹 서버의 취약점이 발생하여 공격자가 해당 서버의 제어권을 얻는다. 즉, 시스템 명령어 실행이 가능하다. 이는 시스템의 중요 정보 즉, 소스 코드 정보, 설정 파일 등의 읽기, 삭제, 수정 권한을 얻게 되는 것이다. 공격 대상 SQL Injection vs OS Command Injection SQL InjectionOS Command Injection공격 방식SQL 구문 삽입시스템 명령어 삽입공격 결과중요 데이터 탈취중요 데이터 탈취, 네트워크 침투, 서버 졈령위험도중상 💡 OS Command Injection이 SQL Injection보다 위..
SQL Injection이란 무엇인가?구조화된 질의 언어를 주입하는 공격사용자의 입력값에 SQL 구문 삽입을 통해 변조된 SQL 구문으로 질의를 하는 취약점을 통해 다양한 공격이 가능하다. 취약점 발생 원인 입력값 검증 미흡으로 인해 미완성된 SQL 구문에 사용자 입력값이 조합될 때 발생한다. 취약점 유/무 판별 방법사용자 입력 - 숫자형산술 연산자를 통해 판별 가능하다.String query = “select * from board where idx=” + idx +”;http://127.0.0.1/insecure_website/index.php?page=view&idx=4-3http://127.0.0.1/insecure_website/index.php?page=view&idx=(case(http://..
웹 해킹이란웹 서비스 상에서 발생될 수 있는 모든 보안 허점을 이용하여 악의적인 행위를 하는 것을 말한다. 방화벽과 웹 해킹방화벽의 등장으로 접근 가능한 웹애 대한 공격이 증가하였다.모바일 앱도 결국 웹 서버와 통신을 하므로 공격자 관점에서는 웹 서비스가 유일한 공격 경로가 된다. 웹 해킹을 통한 피해 영역해킹의 목적이 과시에서 이윤(돈)으로 변하고 있다. 웹 해킹이 발생하는 원인입력 값 검증 부재injectionxss취약한 인증 및 접근 통제중요정보 노출과도한 에러 정보웹 프록시 도구를 통한 노출부적절한 설정세션 타임아웃 관련web-inf 관련서버/프레임워크 취약점스트럿츠 취약점 : 아파치 스트럿츠에서 발견된 원격 코드 실행(RCE)을 허용하는 취약점설계 오류 웹 해킹 필수 도구, 웹 프록시프록시란?웹..