포스팅 썸네일 이미지

WEB

[WEB] SSRF(Server Side Request Forgery)에 대해서

SSRF Server Side Request Forgery 0. Background Knowledge SSRF 취약점이 기본적으로 서버가 request를 처리하면서 발생하는 취약점입니다. SSRF 취약점에 대해서 알아보기 전에, 기본적으로 서버가 request를 어떻게 처리하는지 알아보도록 합시다. 잘 설명되어있는 그림이 없어서 아예 SSRF 사진을 들고와버렸는데, 어차피 설명하는 바와 적합해서 걍 이걸 쓰도록 하겠습니다. 아무튼 기본적으로 서비스는 누구나 접속할 수 있는 web server와, 인가된 소수의 인원들만 접속할 수 있는 DB server가 보통 구분되어있습니다. 위 그림에서 볼 수 있는 것처럼 외부인이 정보를 요구한다면 web server와 db server가 통신을 하여 그 결과, 즉 r..

2021.08.09 게시됨

 포스팅 썸네일 이미지

WEB

[WEB] XXE(XML External Entity) 취약점

XXE XML External Entity 0. 배경지식 XXE취약점은 이름에서도 알 수 있듯이 XML에서 발생하는 취약점입니다. 따라서 XXE에 대해 논하기 전에 XML에 대해서 조금 알아봅시다. XML은 Extensible Markup Language의 줄임말로, 확장된 Markup Language정도로 해석이 가능할 것 같습니다. 사실 직역이라 의미가 있는지는 모르겠지만ㅎㅎ 더 파고들어 봅시다. 우선 Markup Language는 HTML로 설명이 가능하죠. 가장 대표적인 예시가 HTML이기 때문에, HTML과 XML을 비교하여 설명하도록 하겠습니다. HTML에서는 우리가 다양한 태그를 사용할 수 있습니다. head, body, div, a 등등 많은 태그가 존재하긴 하지만, 이미 정해진 태그만 사..

2021.08.06 게시됨

 포스팅 썸네일 이미지

WEB

[WEB] SSTI(Server Side Template Injection) 취약점

SSTI Server Side Template Injection 0. 배경지식 SSTI에 대해서 논하기 전에, 먼저 기본적으로 알고 있어야 할 지식들에 대해서 소개합니다. 우선 Template에 대해서 소개합니다. 웹페이지는 유저와 데이터를 주고받는지에 대한 여부에 따라 정적 웹페이지와 동적 웹페이지로 나뉩니다. 당연히 동적 웹페이지를 구성하는게 훨씬 더 자유도가 높겠죠? 따라서 대부분의 웹페이지가 동적 웹페이지로 구성되어있습니다. 주로 웹페이지는 HTML, CSS, JavaScript, PHP 등의 언어를 사용해서 구현합니다. 그러나 위 언급한 언어를 사용하여 동적 웹페이지를 구현하는 것보다 템플릿이라는 것을 사용하는 것이 훨씬 더 간편하고, 유지보수하기 쉽습니다. 웹 템플릿의 종류는 정말 많으며, 각..

2021.08.05 게시됨

 포스팅 썸네일 이미지

WEB

[Cloud] AWS IAM에 대하여

AWS IAM 1. AWS? AWS란 (Amazon Web Service) 아마존에서 개발한 클라우드 플랫폼입니다. 클라우드 컴퓨팅은 단순히 말해서 인터넷을 통해 IT 리소스와 애플리케이션을 일종의 종량 과금제로 제공하는 서비스이죠. 오늘은 AWS 자체에 대해서 이야기하는 것이 아니기 때문에 너무 깊게 짚고 넘어가지는 않도록 하겠습니다. 결론적으로 짚고 넘어갈 점은 AWS가 압도적으로 점유율이 높다는 점입니다. AWS의 글로벌 인프라가 현재 전세계에 총 24개의 지역(region)으로 나누어 제공되고 있으며, 편리하게 사용할 수 있다는 점에서 클라우드 인프라 시장에서도 점유율 1위를 계속해서 유지해오고 있습니다. [1] 2. AWS IAM 클라우드의 보안을 중요시하지 않을 경우, 아무리 서비스 자체의 보..

2021.08.02 게시됨

 포스팅 썸네일 이미지

WEB

[SQLite fts3] fts3_tokenizer 취약점

fts3_tokenizer 0. fts3_tokenizer에 대해서 일단 이 친구가 뭐하는 친구인지 봅시다. FTS란 Full Text Search의 줄임말로, 효율적으로 빠르게 문서(특히 대용량)을 검색하기 위해 구상된 Table입니다. 무식하게 찾으면 시간이 무진장 오래 걸리니깐 최대한 최적화시켜놓은 시스템이라고 보는게 가장 편할 것 같네요. 그래서 그 검색을 편하게 해주는 것 중 하나가 Tokenizers입니다. Tokenizer는 문장에서 단어를 어떤 방식으로 잘라낼지에 대한 방법을 지정합니다. 보통은 문장에서 공백(' ')을 기준으로 token을 만들겠지만 특정 언어에 맞추어진 custom tokenizer라고 생각하시면 좋을 것 같습니다. 기본적으로 제공하는 tokenizer는 다음과 같습니다..

2021.07.27 게시됨

 포스팅 썸네일 이미지

WEB

[웹 모의해킹-3] CSRF 실습

Cross-Site Request Forgery 0. CSRF공격이란? 특정 사이트가 사용자의 브라우저를 신뢰한다는 점을 공격하는 것입니다. 이미 로그인이 되어있는 관리자가 메일을 열어본 뒤, 해커가 의도한 다른 사이트로 접속하게끔 하여 id/비밀번호를 갈아채는게 목적입니다. 개념도 중요하지만 더 중요한 건 사용자가 로그인되어있는 상태여야한다라는 조건입니다. 본 글은 공격 자체에 대한 설명을 위한 게 아니니, 더 자세히 알아보고 싶으신 분들은 구글링해보시면 좋을 것 같습니다 :) 1. 실습 : Low 우선 security level을 low로 두고, 실습을 해봅시다.아무런 값이나 넣고, 이걸 burpsuite의 http history를 확인해봅시다. 저같은 경우에는 이렇게 입력한 값이 normal/nor..

2021.05.28 게시됨

 포스팅 썸네일 이미지

WEB

[웹 모의해킹-2] Command Injection 실습 : High, Impossible

Command Injection Security Level : High, Impossible 1. Security Level : High Medium Level까지 통했던 페이로드들은 집어넣어도 소용이 없습니다. 소스코드를 확인해봅시다. 사실 어케푸나 한참을 찾아봤는데 이건 그냥 개발자의 실수더라구요 // Set blacklist $substitutions = array( '&' => '', ';' => '', '| ' => '', '-' => '', '$' => '', '(' => '', ')' => '', '`' => '', '||' => '', ); 파이프라인 부분을 보면 뒤에 공백까지 있습니다. 리눅스 명령어는 파이프라인 뒤에 공백을 붙일 필요가 없기 때문에 쉽게 뚫을 수 있습니다. 2. Secu..

2021.05.28 게시됨

 포스팅 썸네일 이미지

WEB

[웹 모의해킹-2] Command Injection 실습 : Medium

Command Injection Security Level : Medium Command Injection은 OWASP Top 10에도 들어가있는 위험도가 높은 공격입니다. DVWA사이트를 통해 Medium, High단계에 따라 Command Injection 실습을 해보도록 하겠습니다. Low단계는 더무 단순해서 제외하였습니다. 0. Command Injection? Command Injection이란 의도하지 않은 값을 넣어서 서버 속 정보를 빼내는 방법입니다. 1. Security Level : Medium 우선 DVWA의 security level을 medium으로 올린 뒤에 다음 명령어를 실행시켜봅시다. 127.0.0.1; ls 아까전과 다른 점은 blacklist를 추가한 점입니다. 근데 &&..

2021.05.27 게시됨

 포스팅 썸네일 이미지

WEB

[웹 모의해킹-1] 자동 bruteforce공격 해보기

자동 bruteforce공격 해보기 Using BurpSuite - Intruder 가장 단순한 웹 모의해킹 기법 중 하나는 bruteforcing입니다. 오늘은 dvwa를 통해서 단순 bruteforcing과 dictionary기법을 통한 실습을 진행해보도록 하겠습니다. 1. 자동 bruteforce 공격 우선 dvwa의 brute force창을 키고, Burp Suite의 inctercept는 OFF상태로 바꾼 뒤, 아무런 값이나 패스워드로 넣어서 보내봅시다. (저는 aaaa를 보냈습니다.) 그러면 너 틀렸어~ 어쩌구 하는 메세지가 나옵니다. 이제 이 상태에서 Burp Suite의 Proxy/HTTP History탭을 클릭합니다. 그러면 제가 보낸 쿼리를 볼 수 있게 됩니다. 해당 쿼리를 오른쪽 클릭..

2021.05.26 게시됨

 포스팅 썸네일 이미지

WEB

[웹 모의해킹-0] 환경설정하기

웹 모의해킹을 위한 환경설정하기 Installing DVWA 웹 모의해킹을 조금 해보려고 합니다. 간단한 실습들을 해보려고 하는데, 이런 실습용으로 만들어진 웹 어플리케이션이 바로 DVWA입니다. 이 글에서는 DVWA를 설치하는 방법에 대해서 서술할 예정입니다. 0. 사용환경 가상환경 플레이어 : VMware Workstation 15 Player OS : 5.10.0-kali3-amd64 Tools : BurpSuite Community Edition 1. XAMPP 설치 https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/ XAMPP - Browse /XAMPP Linux at SourceForge.net × sourceforge.net 해당 페이..

2021.05.25 게시됨

WEB

[PHP] Magic Hash

오늘은 취약점...?이라고 하기에는 애매하지만, 아무튼 unintended한 동작으로 이루어지는 magic hash에 대해서 알아볼 것입니다. 봅시다. 1. Type juggling이란? 기본적으로 Type juggling이라는 개념을 알고 가야 합니다. Type casting이라고도 하죠. 말은 처음 들을수도 있지만 다들 코딩공부 하셨다면 다들 "형변환"에 대해서 들어보셨을겁니다. 직접 코딩할때도 수도없이 쓰고요. 다음 코드의 결과값을 예측해봅시다. #include int main(){ double a = 1.23; int b = int(a); print("%d", b); return 0; } 간단한 코드죠. 당연히 다음 값의 결과는 1이 나오겠죠? 기본적으로 다음과 같은 원리입니다. 더 본격적인 이야..

2021.03.26 게시됨