반응형

보안 공부/Web 보안 27

JWT(Json Web Token) 보안 특성 및 대처 방안

JWT 란? - JWT는 상호간의 정보를 안전하게 전송하는데 사용되는 기술 - 주로 신원(identity) 정보와 클라이언트의 요청과 관련된 정보를 운반하는데 사용 - 토큰은 인증(authentication)을 통해서 생성 -> 서버에 의해서 검증 - 휴대성(portability), 비상태성(stateless)상태로 클라이언트와 서버 기술의 기술의 분리가 용이 JWT 구조 - 3개파트로 분리 (헤더 영역, 데이터 영역, 시그니처 영역) - 헤더 영역(HEADER) -> 알고리즘 정의(alg), 타입결정(typ) - 데이터 영역(payload) -> sub, name, admin ex) - 시그니처 영역(signiture) -> 헤더 영역과 데이터 영역을 결합한 데이터를 서버 비밀키(Secret)을 통해 ..

Microsoft IIS(인터넷 정보 서비스) 5.0 및 6.0 상태 코드에 대한 설명

HTTP 1xx - 정보 제공 이 상태 코드는 임시 응답을 나타냅니다. 클라이언트가 정식 응답을 받으려면 하나 이상의 1xx 응답을 받을 준비가 되어 있어야 합니다. 100 - 계속 작업합니다. 101 - 프로토콜 전환 2xx - 성공 상태 코드의 이 클래스는 서버가 클라이언트 요청을 받아들였음을 나타냅니다. 200 - 클라이언트 요청이 성공했습니다. 201 - 생성됨 202 - 수락됨 203 - 권한이 없는 정보입니다. 204 - 내용이 없습니다. 205 - 내용을 다시 설정합니다. 206 - 일부 콘텐츠 207 - 여러 상태(WebDav) 3xx - 리디렉션 클라이언트 브라우저는 요청을 처리하기 위해 좀더 조치를 취해야 합니다. 예를 들어 브라우저는 서버에서 다른 페이지를 요청해야 하거나 프록시 서버..

WAS 관리자 로그인 창 안뜨게하는 방법

취약점진단 시 아래 그림과 같은 로그인 창이 뜨는 경우가 있습니다. 해당 로그인 창은 WAS 관리자 로그인으로 알고있는데, 해당 기능은 인가된 IP또는 PC에서만 활성화되도록 설정해야합니다. 그래서 아래와 같은 결과가 나오지 않도 설정해야 합니다. ""URL" 서버가 사용자 이름과 암호를 요청하고 있습니다. 서버에서 Authentication required의 요청이라 보고 합니다. 경고: 사용자 이름과 암호는 기본 인증을 사용하여 안전하지 않은 연결을 통해 전송됩니다." @@ WEB.xml 파일내 추가 필요@@ 1."security-constraint" 구문 내 추가("user-data-constraint") .... CONFIDENTIAL ..... 2. 에러코드 401에 대한 에러처리 구문 추가 필..

web server 헤더 정보 숨기기!(apache)

안녕하세요. 이번에는 Web server Response에 나타나는 WebServer 정보에 대해서 가리는(숨기는)방법을 알아보도록하겠습니다. 사실 전에 웹 서버 정보에 대해서 숨기는 방법을 포스팅하긴했지만 최근 한기관에서 취약점 진단시 웹 서버 버전정보 노출 이외에도 웹 서버를 멀사용하고 있는지만 노출되도 취약으로 잡아버리는 경우가 있어서..(ex. apache만 응답에서 찍히는데 취약으로 잡음..) Response에서 apache도 안찍히고 사용자가 입력한 값으로 대체해서 응답해줄수 있도록 하는 방법을 설명드리 도록 하겠습니다. 일단 Mod_security 모듈 설치가 필요합니다. 1. yum 명령어를 사용해서 설치 시도 - 명령어 : yum install mod_security 2. mod_secu..

Web Method 취약점 조치 방안(Trace method 제한)

웹 메서드 취약점 진단 이후 이행점검 중 아주 골치 아픈 상황이 생겼습니다.. 지금까지 수백대 서버에 대한 웹 메서드 취약점에 대한 조치 지원을 했었고, 보통 web.xml, httpd.conf 파일을 수정하면 다~ 조치가 되는 상황이었으나.. 참조 : https://itinformation.tistory.com/101 이번에 아무리 조치를 요청하고 각 파일들을 확인해도 이상이 없는데 계속해서 취약점이 존재하는 상황! 남아있는 취약 Method는 Trace 메소드였습니다. Trace메소드는 클라이언트가 송신한 리퀘스트를 그대로 반환합니다. 왜 이 메소드가 문제가 되는가 하면 Trace메소드를 사용한 공격 방법에 「XST(Cross-Site Tracing)」이라는 것이 있기 때문입니다. 참조 https:/..

웹서버 web editor 취약점 및 샘플페이지

※ 주의 : 본 포스팅의 내용을 악용할 시 법적 문제를 야기할 수 있으므로, 반드시 법적 테두리 안에서 허용되는 경우에만 사용하시기 바랍니다. 웹 서버에 게시판 SW(웹 에디터)에 대한 취약점을 이용한 공격이 다수 발생하고 있다고 합니다. 주로 발생하는 에디터 종류로는 1. Smart Editor (네이버) 2. Namo Cross Editor(지란지교소프트) 3. 나모 웹 에디터(나모인터랙티브) 각 Web Editor 별로 최신버전의 업데이트가 필요합니다. 1. Smart Editor - 이미지 업로드 취약점 등이 제거된 최신버전(2.9.1 이상)으로 업데이트 필요 - 2.9.0 버전부터 취약한 이미지 업로드 예제용 샘플 페이지를 제거하고 배포중 - 구버전 운영중인 경우 이미지 업로드 샘플파일 존재여부..

서버 정보 노출 차단2(Tomcat, Jetty 서버)

서버정보노출 차단 방법입니다. 기본적인 방법에 대해서는 기존 포스팅을 보시면 좋으실것 같습니다. (apache Coyote, Apache, x-powered-by(php)) https://itinformation.tistory.com/63 서버버전 노출 대응방안 모음 @@ apache Coyote ■ server : Apache-Coyote/1.1가 노출되는 상황 ■ 대응방법 - server.xml의 http Connector 설정에 다음과 같이 server=" "를 추가하고 그 사이에 노출을 원하는 문자열을 삽입 itinformation.tistory.com - Tomcat - ------------------------------------------------------------------ /et..

IIS HTTP 불필요 메서드 차단 방법

HTTP Method를 통한 공격 방지를 위하여 차단여부에 대해 알아보겠습니다. 기존 포스팅으로 Apache에 대한 설정여부에 대하여 포스팅 하였고, 그 때 포스팅한 IIS 방법으로 조치가 되지 않는다는 업무팀이 존재하여 다른 방법을 다시 포스팅합니다. https://itinformation.tistory.com/101 HTTP 불필요한 웹 메서드 차단 방법 HTTP 불필요(보안에 취약한) Web Method 차단 방법 입니다. 1. httpd.conf 파일에 설정 Order allow,deny deny from all -> 근데 이 방법은 설정한 디렉터리에.. itinformation.tistory.com 다른 취약점에 대한 설정들과 마찬가지로, 차단할 메서드를 적는 것이아닌, 허용할 메서드를 적어주는..

SQL Injection 취약점

SQL Injection 공격 ->코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터 베이스를 공겨할 수 있는 공격방식이며 주로 사용자가 입력한 데이터를 제대로 필터링 하지 않았을 경우 발생합니다. 공격은 쉬운데 파괴력이 어마어마하며 자주 일어납니다. - Web Application에서 입력 받아 데이터베이스로 전달하는 정상적인 SQL 쿼리를 변조, 삽입하여 불법 로그인, DB 데이터 열람, 시스템 명령 실행 등을 수행하여 비정상적인 데이터베이스 접근을 시도하는 공격 기법 - 조작한 입력으로 데이터베이스를 인증 절차 없이 접근 및 자료를 무단 유출하거나 변조 할 수 있음 - 무료 SQL Injection 취약점 스캐너 - Nikto : GNU 기반 오픈 소스로 웹서버 및 SQL Inj..

취약한 웹 어플리케이션 DVWA를 통한 취약점 진단_SQL Injection

취약한 웹 어플리케이션 DVWA를 통한 취약점 진단 실습입니다. 실습 : SQL Injection 난의도 : LOW SQL Injectin 이란? 웹 개발자가 SQL 질의에 대한 공격 가능성을 배제하고, SQL 질의를 신뢰할 수 있는 명령으로 판단함을 가정합니다. SQL 질의에서 접근 제어를 우회, 일반적인 인증 및 인증 확인을 무시, SQL 질의가 OS 레벨 명령을 할 수있는 공격입니다. 꽤 오래된 취약점임에도 불구하고 최근에도 많은 사고사례가 발생하고 있습니다. 위와 같이 입력이 가능한 폼에서, SQL Injection 공격이 가능한지 확인하기 위해 싱글쿼터 '를 입력 시도 입력 시 위와 같은 에러 발생, 여기서 알수있는 것은 싱글쿼터에 대한 검증이 이뤄지지 않고 있음과 MySQL를 사용하고 있다는 ..