728x90
반응형

Security/Web Security 17

퓨니코드(Punycode)와 호모그래프 공격

퓨니코드(Punycode)란DNS(도메인 네임 시스템)는 영어 알파벳(A-Z), 숫자(0-9), 하이픈(-)으로 이루어진 7비트 ASCII 문자만 인식할 수 있습니다.하지만 영어가 익숙하지 않은 사용자는 자국어로 된 도메인주소를 통해 훨씬 직관적이고 쉽게 인터넷에 접근하고 싶어 합니다. 퓨니코드는 기존 DNS 시스템을 수정하지 않고도 다양한 언어의 도메인(IDN, 다국어 도메인)으로 접속할수 있게 해주는 기술입니다. 퓨니코드의 작동 방식퓨니코드로 변환된 도메인은 항상 접두사 xn--로 시작합니다.우리가 웹 브라우저 주소창에 한글.com을 입력하면브라우저가 이를 자동으로 xn--bj0bj0b.com이라는 퓨니코드로 변환하여 도메인 네임 서버(DNS)에 요청을 보냅니다.DNS는 xn-- 라는 접두사를 통해 ..

User-Agent는 왜 자기를 크롬, 사파리라고 소개할까?

보안 장비나 웹 서버 로그를 분석하다 보면, User-Agent(UA) 필드에서 이상한 점을 발견하게 됩니다.왜 하나의 User-Agent에 Chorme이고, Mozilla이고, AppleWebKit이며, 심지어 Safari라고 적혀 있는 걸까?"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 결론부터 말하면, 현대 브라우저의 User-Agent는 '호환성'을 위해 서로의 이름을 빌려 쓰는 구조로 되어 있습니다. User-Agent의 역사이 복잡한 이름의 기원은 1990년대 '브라우저 전쟁' 시절로 거슬러 올라갑니다. Mozilla/5.0의 시작: 초창기..

WordPress xmlrpc 취약점

WordPress xmlrpc 취약점이란?XML-RPC는 XML(eXtensible Markup Language)을 사용하여 원격 프로시저 호출(RPC; Remote Procedure Call)을 수행하는 프로토콜해당 프로토콜을 사용하여, 원격으로 모바일 앱에서 포스팅을 하거나 다른 블로그와 콘텐츠를 연결하는 등의 작업이 가능합니다.현재는 더 발전된 REST API로 대체되어 사용이 권장되지 않으며, 오히려 심각한 보안 위협의 경로로 악용되고 있습니다.주요 공격 유형XML-RPC 취약점은 주로 두 가지 형태의 사이버 공격에 악용됩니다.1. 무차별 대입 공격 (Brute-Force Attacks)공격자는 xmlrpc.php 파일의 system.multicall 기능을 이용해 단 한 번의 HTTP 요청으로 ..

[보안관제] X-Requested-With 헤더와 정오탐 판별

X-Requested-With 헤더란X-Requested-With 헤더는 주로 웹 애플리케이션에서 AJAX (Asynchronous JavaScript and XML) 요청임을 서버에 알리기 위해 사용즉, 이 헤더가 포함된 요청은 일반적인 웹페이지 전체를 불러오는 것이 아니라, 페이지의 특정 부분만 동적으로 업데이트하기 위해 전송되었음을 의미활용예시: 사용자가 웹사이트의 '더 보기' 버튼을 클릭하거나, 스크롤을 내려 새로운 콘텐츠(예: 뉴스 기사, 상품 목록)를 로드 AJAX 정상적인 통신 흐름 예시아래는 X-Requested-With: XMLHttpRequest 헤더가 정상적으로 사용되는 대표적인 시나리오입니다. 1. 사용자 행동: 사용자가 웹사이트의 '더보기' 버튼을 클릭하거나, 스크롤을 내려 새로운..

DVWA로 배우는 CSRF 공격

CSRF(Cross-Site Request Forgery)란?공격자가 사용자의 인증된 세션을 이용하여 의도하지 않은 요청을 서버로 보내는 공격입니다. 예를 들어, 사용자가 로그인된 상태에서 공격자가 사용자의 세션을 탈취하여,악성 요청이 자동으로 전송되도록 유도하고 원하지 않는 행동(예: 비밀번호 변경, 송금 요청 등)을 수행하게 만듭니다. CSRF 동작원리 정상 접속 및 로그인사용자가 정상적으로 웹사이트(example.com)에 로그인합니다.브라우저는 로그인 상태를 유지하기 위해 세션 쿠키를 저장합니다.피싱(공격자가 악성 링크 또는 이메일 전송)공격자는 사용자가 클릭하도록 악성 링크를 포함한 이메일 또는 웹사이트를 만듭니다.예: "보안 문제 해결을 위해 클릭하세요!"라는 메시지로 유도패스워드 변경 요청 ..

DVWA로 배우는 File Inclusion

1. File Inclusion 취약점이란?웹 애플리케이션이 파일을 동적으로 포함할 때, 사용자가 직접 입력한 값이 포함될 경우 악의적인 파일을 불러오거나 실행할 수 있는 취약점을 의미합니다. 여기서 동적이라는 의미는 사용자의 입력이나 변수 값에 따라 다른 파일을 불러와 실행하는 것을 의미합니다.즉, 정해진 파일이 아니라, 사용자의 요청이나 특정 조건에 따라 불러오는 파일이 달라지는 방식입니다. 공격자는 해당 취약점을 통해, 3가지의 악의적인 행위를 수행할 수 있습니다. 1. 악성 스크립트 포함시켜 서버내에서 악성 코드를 실행 2. 서버내에 중요한 파일(/etc/passwd) 유출3. 웹 업로드  2. File Inclusion 유형File Inclusion 취약점은 로컬 파일 포함(Local File ..

[프로젝트] 모의해킹 시나리오(파일업로드 + CAPTCHA)

취약한 웹사이트(DVWA)에서 파일 업로드 및 CAPTCHA 우회 취약점을 이용해 관리자 계정을 탈취하는 실습 시나리오 구성하는 실습을 진행해보겠습니다. 개요기간: 2025.01.20 ~ 2025.02.02 (2주)환경: DVWA, PHP, Kali Linux, Burp Suite목표: 취약한 웹사이트(DVWA)에서 파일 업로드 및 CAPTCHA 우회 취약점을 이용해 관리자 계정을 탈취 공격 시나리오공격자는 파일 업로드 취약점을 이용하여 웹셸, CAPTCHA를 우회하는 패스워드 변경 페이로드, 세션을 탈취하는 php파일 업로드관리자에게 악성 이메일을 전송하여 Reflected XSS 공격 수행악성 스크립트를 실행하여 관리자 패스워드 변경 및 로그아웃 유도 공격자는 파일 업로드 취약점을 이용해 웹셸, 세션..

Insecure CAPTCHA을 알아보자

Insecure CAPTCHA이란CAPTCHA는 사람과 컴퓨터를 구분하기 위해 사용하는 보안기술로 웹사이트에서 자동화된 봇의 무차별 공격을 방지하기 위해 사용됩니다. 공격자는 CAPTCHA에 존재하는 취약점을 활용하여 CAPTCHA를 우회하거나 무효화할 수 있습니다. 이는 웹 애플리케이션의 보안을 심각하게 손상시킬 수 있으며, 무차별 대입 공격이나 계정 탈취 시도에 취약해질 수 있습니다. (참고) 요즘은 CAPTCHA보다는 cloudflare turnstile을 많이 활용하는 것 같습니다. DVWA 실습으로 알아보기참고로 해당 실습을 수행하기 위해서는 DVWA CAPTCHA 설정이 필요합니다.  CAPTCHA가 적용된 페이지가 어떻게 동작하는지 확인해 보겠습니다.패스워드 변경을 하는 페이지로 보이며, 변..

File Upload 취약점을 알아보자

File Upload 취약점이란파일을 업로드할 때, 파일에 대한 충분한 검증을 하지 않아서 발생하는 보안 취약점입니다. 예를 들어 서버가 특정 파일 유형(예:. php,. jsp 등)을 실행할 수 있도록 허용할 경우, 공격자는 서버 측 코드 파일을 업로드하여 웹 셸을 실행할 수 있습니다. 이는 공격자가 서버를 완전히 제어할 수 있게 만듭니다 DVWA 실습으로 알아보기File Upload 취약점은 주로 웹셸을 업로드하여 서버에 접근하고 권한을 획득하는 공격과 같이 사용됩니다.아래 2023년 8월에 발생한 파일업로드 공격사례에서도 파일업로드 취약점을 이용해 웹셸을 업로드하는 것을 볼 수 있었습니다. DVWA활용하여, 실제 공격 방식과 유사하도록 파일 업로드 취약점을 활용해 웹셸 업로드를 하는 실습을 진행해 ..

웹셸(WebShell)

1. 웹셸이란웹 셸(Web Shell)은 웹 서버에 업로드되어 파일탐색이나 시스템 쉘 명령어를 실행할 수 있는 파일입니다. 본래는 서버 관리 등의 목적으로 생겨났지만, 악의적인 해커들이 웹셸을 업로드하여 서버에 침투해 악성 활동에 활용하면서 보안 위협으로 간주되고 있습니다.  악의적인 해커들은 특정 서버의 존재하는 취약점을 파악하여 웹셸을 서버에 업로드합니다. 이를 통해 공격자는 명령 실행, 파일 업로드 및 다운로드, 데이터 유출 등의 작업을 수행할 수 있습니다. 공격자가 취약한 파일 업로드 기능이 있는 웹 애플리케이션을 발견하는 과정을 정리해 보겠습니다.공격자는 먼저 웹 서버의 취약점을 스캔하여 파일 업로드 기능을 발견합니다.파일 확장자 검증이 미흡한 것을 확인한 후, .php 확장자를 가진 웹셸 파일..

728x90
반응형