HTTP X-XSS-Protection헤더는 Internet Explorer, Chrome 및 Safari에서 제공하는 기능으로서, (XSS) 공격을 감지 할 때 페이지 로드를 중지시킬 수 있다. 최신 브라우저에서는 Inline Javascript('unsafe-inline')사용을 못하게 하는 CSP(Content-Security-Policy) 보호기능이 있으나, 해당 기능을 지원하지 않는 구형 웹브라우저에서 사용자를 보호 할수 있는 기능을 제공할 수 있다. 브라우저들의 기존 버전에서는 X-XSS-Protection을 따로 설정해 주었으나, 현대 대부분의 브라우저들은 X-XSS-Protection이 자동으로 설정되어 브라우저 자체에서 필터링해준다. X-XSS-Protection: 0 -> XSS 필터링..
01. 암호학의 기본 개념 1) 암호학의 정의 암호는 약속된 당사자 또는 집단에서만 암호문에 내포된 내용을 알 수 있게 하는 일종의 문서이다. 2) 암호화와 복호화 암호화 : 내용을 다른 사람이 읽지 못하게 하는것 평문 : 암호화 하기 전의 메시지 암호문 : 암호화한 후의 메시지 3) 암호화와 복호화의 기호 평문 : M 이나 P (보통 P를 많이씀) 암호문 : C 암호 알고리즘 : E 복호화 알고리즘 : D 키 : K C = E⒦(P) : 평문 P를 키 K로 암호화하여(E) 암호문 C를 얻는다. P = D⒦(C) : 암호문 C를 키 K로 복호화하여(D) 평문 P를 얻는다. 02. 암호기법의 분류 1) 치환 암호와 전치 암호 (가) 치환 암호(대치 암호, Substitution Cipher) 1. 비트, ..
기존 방식으로 안드로이드에서 Burp Suite를 잡으면 잡히지 않는 현상이 발견되었다. 요번에는 새로운 방식으로 Burp Suite를 잡는법을 소개하겠다. 준비물 (1) adb (2) burp 1. 모바일 폰을 노트북에 연결 (단, 노트북과 모바일 기기는 같은 네트워크로 구성되 있어야 한다.) 2. 모바일 기기 네트워크 설정 관리에서 프록시를 수동으로 전환 후 노트북 IP와 포트로 변경 (노트북모바일 기기 MITM) 3. Brup Suite에서 Proxy Listeners 포트를 *.8080으로 Add 후 Running 체크 4. http://burp를 접속한 후 CA Certificate 클릭 5. cacert.der 다운로드 6. cacert.der를 cacert.cer로 변경 후 클릭하여 인증서 ..
리눅스는 RWX 이외에도 특정 디렉토리나 파일에 대한 특수 권한을 사용하는데 다음과 같다. - SetUID, SetGUI 해당 권한은 애플리션이 실행될 때 애플리케이션이 실제 수행하는 권한을 일시적으로 소유자 혹은 소유 그룹으로 바꾸는 권한이다. - Sticky Bit 해당 권한은 일반적으로 디렉토리에 부여되며, 해당 권한이 부여된 디렉토리는 누구나 Full 권한을 가진다. 즉 해당 디렉토리에서는 누구나 읽고, 쓰고, 삭제하는 행위를 할 수 있다. 대표적인 예가 /tmp $ ls -ld /tmp SetUID/SetGUI 권한이 왜 필요 한가? 취약한 애플리케이션이 SetUID 권한을 가질 경우 발생하는 일 $ sudo su - # chown root:root bof1 // bof1 애플리케이션의 소유자,..
Return 주소 조작을 통한 스택 오버플로우 구현 절차 1. 예외를 발생 시키는 주입 지점 확인 2. 주입지점부터 Return Address 위치까지의 옵셋(거리)를 확인 3. 실행의 흐름 조작 가능 여부 확인 4. 간접 분기에 사용할 Register 확인 (전제 조건은 우리가 더럽힐 수 있는 스택을 포인팅 하고 있어야함) 5. 주입 지점부터 간접 분기에 사용할 레지스터가 가르키는 스택의 지점까지 거리 확인 6. Call Register 코드 확인 7. 익스플로잇 코드 제작 및 테스트 목표) 아래 소스코드로 컴파일된 실행파일의 스택 오버플로우 취약점을 찾고 쉘코드 실행 - bof.c #include #include #include void dovuln(const char *s) { char buf[10..
쉘 코드 실행 및 제어 권한 획득 gcc -fno-stack-protector -z execstack -o : -fno-stack-protector = 스택 오버플로우를 감지하는 스택 쿠키 배치 및 검증 코드를 제거 : execstack -o = 스택 메모리에서의 코드 실행 권한 추가 열쇠없이 금고를 열때 유리막을 건들면 깨지게 설계하듯이 코딩 설계할때도 이와같이 구조를 확인할 수 없게하는 장치 리턴 주소를 조작한 쉘코드 실행 방법 2가지 1. 분기할 곳을 직접 지정하는 "직접 주소 참조 방식" 2. 레지스터를 이용하여 함수(루틴)을 실행하는 코드를 이용한 간접 참조 방식 Trampoline Technique 가상 주소 공간에 있는 스택 메모리의 주소가 무작위한 특성으로 인해 "직접 주소 참조" 방식 공..