정보보안 7

일반 기업 보안 담당자 - 1. 조직(1/2)

기술 컨설팅 업무만 주로 수행하다가 일반적인 기업의 보안의 담당자, 인하우스 보안 담당자 업무를 수행하게 되니 생각보다 괴리감도 컸고 몰랐던 내용도 많고, 보안이란 산업군도 얼마나 큰지 알 수 있었다. 그 과정에서 겪은 생각이나 느낀점을 내 입장에서 서술하려고 한다. 경력이 짧기 때문에 단편적인 시각일 수 있으니 참고바란다. 인하우스 보안은 지원 조직의 성향이 짙기 때문에 일반 구성원들이 얼마나 수용하고 받아들이는지, 보안 부서의 힘이 얼마나 있는지 이와 비슷한 조건에 따라서 보안 담당자가 업무를 수행하는데 들이는 수고가 달라진다. CISO 대부분의 보안조직의 최고 책임자는 CISO가 역할을 수행하고 있을 것이다. 그렇기 때문에 보안 담당자가 중요한 의사결정은 CISO가 결정한다고 봐도 과언이 아니다. ..

XSS - Backtick(`)

Tab 키 위에 존재하는 이 Backtick은 ` javascript에서는 템플릿 리터럴에 활용된다. Backquote, backtick, grave accent 으로도 불리며 거의 접할 이유가 없는 문자이기도 하다. 그러면 왜 XSS에 Backtick을 언급한 이유가 무엇이냐 하면 보통 XSS를 발생시키기 위해 Javascript에서 기존 안의 구문에서 벗어나기 위해 "> 와 같은 입력값으로 개발자의 의도와 다른 방식으로 입력을 한다. 따라서 보통은 " , ' , , % 와 같은 특수문자들을 HTML Encoding하거나 필터링하여 입력을 방지한다. 필터링을 하거나 Encoding하여 방지하면 이 Backtick은 의미가 없지만 간혹 개발자 중 php에서 magic_quotes_gpc를 활성화 시키고 ..

정보보안/Web 2020.10.21

Ghostcat : Tomcat-Ajp (CVE-2020-1938)

프로젝트 중 통칭 Ghostcat 취약점을 사용할 수 있는 버전의 Tomcat 버전이 나와서 시도해봤더니 성공했다. 공격 python 코드는 Github에 올라온 POC 코드를 사용했고 그 이외에는 정말 기본적인 대상 정보만 알면 대상 webapp 이하의 소스코드 및 데이터를 내려받을 수 있는 취약점이였다. 연초에 핫한 취약점이여서 대충 들여다만 봤었는데 오늘 해보니 제대로 이해할 필요가 있어서 정리해 본다. 발생 원인 그럼 우선 근본적으로 취약점이 발생하는 AJP 프로토콜이 무엇인가, 왜 쓰이는가? AJP 프로토콜이란 Apache JServ Protocol로 Web 서버에서 전달받은 요청을 WAS로 전달해주는 프로토콜이다. 해당 프로토콜은 Apache HTTP Server, Apahce Tomcat, ..

정보보안/Web 2020.07.22

Toss 부정 결제

20년 6월 3일 온라인 가맹점 3곳에서 8명의 고객명의로 약 930만원 정도의 금액이 결제되었다. 이는 유출된 개인정보를 도용한 부정결제이며, 결제 방식은 웹 결제 방식으로 필요한 개인정보는 5자리의 PIN 번호와 생년월일 그리고 이름이다. 부정결제된 금액은 모두 환불조치 되었으며 추후에 시스템을 더 고도화 하겠다고 발표했다. 토스의 결제 방식은 아래와 같다. (사전에 Toss 앱이 설치되어 기본 정보가 등록되어 있어야 하며 Toss에는 지불 수단으로 등록된 카드 또는 금액이 있어야 한다.) 마지막에 사용자가 설정한 4자리 숫자 + 1자리 알파벳으로 최종 결제를 승인하게 된다. 그렇다면 여기서 유추해 볼 수 있는 부정결제 방법은 사전에 피해자들의 핸드폰 번호, 성명, 생년월일을 수집하여 결제 수단으로 ..

정보보안/사례 2020.06.10

XSS로 HTTP ONLY 우회하여 세션 탈취하기

보통 일반적으로 XSS를 시도하다 보면 헤더에 HttpOnly 플래그가 설정된 경우를 찾을 수 있다. HttpOnly는 document.cookie API에 접근을 차단하여 세션 및 쿠키 탈취를 방지하기 위한 설정이다. Set-Cookie: id=ABCE123123r3ABCDf1234; Secure; HttpOnly; 이와 같은 설정 값으로 이러한 설정이 활성화 되어 있으면 내가 알고 있는 방법으로는 XSS를 이용하여 세션을 탈취하기란 거의 불가능에 가깝다. 특수문자 및 스크립트 필터링이 미흡해도 세션이나 쿠키값을 탈취할 수 없기 때문에 포기하고 피싱사이트쪽으로 시나리오를 생각하는 경우가 많다. 다만 HttpOnly가 설정되어 있는 경우라도 세션을 탈취하는 방법이 존재한다. 점검 대상의 사이트 중 필요에..

정보보안/Web 2020.06.02

Frida 를 배워보자-1

실 프로젝트를 경험하면서 모바일 진단을 위해서 꼭 필수적인 요소로 자리매김한 게 Frida이다. 강력한 솔루션을 사용하거나 또는 여러 겹의 루팅 체크, 무결성, 백신 등의 검증을 통과해야 하는 경우가 대다수이고 모바일 진단은 특히 기간 상의 문제 때문에 솔루션이 벗겨진 상태로 진단 대상을 받아도 문제가 발생할 가능성이 높다. 그래서 유연하고 강력한 Hooking이 주목받고 대세로 떠오르는 것이다. 하지만 다른 공격 기법이나 방법처럼 많이 퍼져있는 게 아니기 때문에 처음 배워야지 배워야지 하는데 어디서 막상 어떻게 배워야 하는지도 의문이었다. 그래서 나 혼자서 배움을 정리하고자 또 글을 쓴다. 우선은 https://frida.re/docs/home/ Welcome Inject JavaScript to ex..

정보보안/Mobile 2020.01.14

XSS 진단 및 Cheat Sheet

프로젝트를 진행하면서 항상 듣는 말이 자신만의 비밀 사전이 필요하다는 말이다. 그래서 언젠가는 만들어야지? 생각하다가 그냥 지금 글에 계속 덧붙여서 만들기로 했다. 주관적인 생각으로 작성되었고 나만의 방법론이기 때문에 틀릴 수도, 비 효율적일 수도 있다. ※ 일반 사이트에 해당 구문 사용을 절대 권장하지 않는다. 스크립트를 발생시키는 이유는 해당 사이트에 의도하지 않는 스크립트 구문을 삽입하여 작동시킴으로 다양한 공격을 발생시키기 위함이다. 예를 들어 쿠키값 획득 + CSRF + 리다이렉션 이외에도 수많은 공격 목적이 존재한다. 단순히 이 발생하는 사이트는 거의 존재하지 않는다. 대부분은 입력값을 검증하여 >,

정보보안/Web 2020.01.13