Tech
XSS Mitigation
XSS...? 사이트 간 스크립팅(또는 크로스 사이트 스크립팅, 영문 명칭 cross-site scripting, 영문 약어 XSS)은 웹 애플리케이션에서 많이 나타나는 취약점의 하나로 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점이다. Environment 일반적인 사이트에서 공격을 시도하면 안 되기 때문에 간단하게 취약한 게시판을 구현한 후 이를 통해 진행한다. 취약한 게시판은 다음과 같이 스크립트를 포함한 글을 등록한 후 해당 게시판을 확인하면 다음과 같이 스크립트가 작동하도록 구축하였다. XSS Mitigation XSS 공격에 대한 보호기법은 CSP, X-XSS-Protection 등 다양한 보호 기법이 존재하지만 PHP를 통해 직접 적용시킨 후 어떠한 변화가 ..
WSL2에서 Burp Suite의 Proxy 기능 사용
이 글은 WSL2(Ubuntu)에서 Python으로 Burp Suite의 Proxy 기능을 사용하기 위해 설정을 하는 방법에 대한 내용을 다룬다. 환경 Host - Windows 10 WSL2 - Ubuntu18.04 Burp Suite Community Edition Export CA Certificate Burp Suite의 Proxy기능을 이용하기 위해 먼저 인증서 발급을 진행한다. Burp Suite의 Proxy → Options으로 이동하여 "Import / export CA Certificate" 버튼을 눌러 주면 다음과 같은 화면이 나온다. 여러 옵션 중 Export의 가장 위에 있는 "Certificate in DER format"을 눌러 진행한다. 경로와 이름을 설정한 후 save버튼을 ..
stdout을 이용한 leak
hackctf childheap 문제로 처음 접한 기법이다. 최근 heap문제에서 자주 사용되기도 하고 한번 정리해두고 싶어 글을 쓰게 되었다. (모자란 부분은 조금씩 채워 나갈 예정) Source Code source code는 puts의 code를 간단하게 분석하면서 최종적으로 _IO_SYSWRITE가 어떻게 호출이 되는지 알아보자. 먼저 호출되는 puts함수부터 살펴보면 다음과 같다. _IO_puts #include "libioP.h" #include #include int _IO_puts (const char *str) { int result = EOF; size_t len = strlen (str); _IO_acquire_lock (_IO_stdout); if ((_IO_vtable_of..
exit함수를 이용한 exploit
hackctf adult_fsb 문제를 풀면서 알게 된 방법이다. exit함수 내부의 free함수를 호출하는것을 이용하여(free_hook) exploit을 하는 방법을 소개하려고 한다. Source Code 먼저 간단하게 exit함수에서 어떻게 free함수가 호출되고 있는지 알아보자. exit() void exit (int status) { __run_exit_handlers (status, &__exit_funcs, true, true); } exit함수는 내부적으로 run_exit_handlers 함수를 호출하여 진행한다. 여기서 인자로 넘겨주는 &__eixt_funcs는 exit.h에 선언되어있다. exit.h extern struct exit_function_list *__exit_funcs a..
64bit Format String Bug
지금까지 미뤄뒀던 fsb 쪽을 공부해보았다. 아직 많이 미흡하지만 이후에도 여러 문제를 풀면서 여러 정보를 추가할 예정이다. Format String Bug FSB(Format String Bug) : 포맷 스트링 버그는 취약점 공격에 사용될 수 있는 보안 취약점이며, 포맷팅을 수행하는 printf() 같은 특정한 C 함수들에서 사용자 입력을 포맷 스트링 파라미터 (%d, %n ...)로 사용하는 것으로부터 나온다. 피라미터 종류 위와 같은 피라미터를 입력하면 어떤 일이 일어나는지 예제를 통해 알아보려 한다. TEST CODE #include #include #include int main(void) { char buf[300]; setvbuf(stdin, 0, 2, 0); setvbuf(stdo..
BFF Fuzzer 설치 & 설정
윈도우 소프트웨어 Zero-Day Hunting 프로젝트를 진행하면서 Fuzzer나 여러 정보들을 남기려고 한다. 다운로드 링크 : https://resources.sei.cmu.edu/forms/bff-download.cfm 링크를 들어가면 다음과 같은 화면이 나올 것이다. 그러면 BFF=2.8-setup.zip 을 다운로드한다. 이후 압축을 풀면 BFF-2.8-setup.exe 파일이 있을 것이고, 이 실행 파일을 실행하여 쭉 진행하면 BFF Fuzzer의 설치는 끝난다. BFF 설정 설치 후 BFF 폴더를 보면 다음과 같다. 이 중 configs 폴더 안에 bff.yaml이라는 파일이 있을 것인데 이것이 Fuzzer 설정 파일이다. 다음은 bff.yaml의 내용이다. #################..