모든 게시글
This article is also available in English.Read in English →
PHP2Shell(CVE-2026-109618·109619) 심층 분석: 패킷 구조부터 WAF·Suricata 탐지 룰까지
애플리케이션 코드가 실행되기도 전에 PHP 코어 엔진을 장악하는 Pre-Auth RCE 취약점 'PHP2Shell'의 메모리 오염 메커니즘과 실제 공격 패킷 패턴, 그리고 실무 보안 관제를 위한 Snort/Suricata·ModSecurity·로그 탐지 전략.
로딩 중...
관련 게시글

Security
OCSF(Open Cybersecurity Schema Framework) 심층 분석: 파편화된 보안 로그 표준화와 데이터 레이크 설계
벤더마다 제각각인 SIEM 로그 파서(Parser) 유지보수 지옥을 끝내기 위해 등장한 OCSF의 4계층 스키마 구조, CEF/ECS와의 차이점, 그리고 실무 JSON 매핑 및 위협 헌팅 쿼리까지 상세히 알아봅니다.
2025년 6월 4일
18 소요
OCSF 외 5개

Security
딸아이와 로블록스 게임을 만들다 마주친 악성코드: 무료 템플릿 속 숨겨진 백도어와 공급망 공격 분석
딸아이와 함께 로블록스 타워 게임을 개발하던 중 무료 툴박스 모델에서 발견된 10단계 은닉 백도어 스크립트의 구조, Luau 가상머신 샌드박스 보안, 그리고 게임 공급망 공격의 실체를 분석한 기록.
2026년 11월 3일
19 소요
Roblox 외 5개

Development
Next.js 15 + Cloudflare Pages 블로그 구글 노출 0건과 애드센스 'ads.txt 찾을 수 없음' 완벽 해결기
분명 브라우저에서는 잘 열리는 ads.txt를 왜 구글 애드센스 봇만 못 읽었을까? Cloudflare GraphQL 방화벽 로그 분석으로 찾아낸 Bot Fight Mode의 함정과 Next.js 정적 블로그의 5가지 기술적 SEO·애드센스 최적화 트러블슈팅 기록.
2026년 10월 23일
19 소요
Next.js 외 6개
© 2026 HEISENBUG. 이 글의 저작권은 작성자에게 있으며, 허가 없이 무단 복제 및 배포를 금합니다.
이 글은 개인적인 경험과 의견을 바탕으로 작성되었으며, 모든 내용은 작성 시점을 기준으로 합니다.
목차
- 프롤로그: 애플리케이션 코드가 실행조차 되기 전에 뚫린다
- 1. 취약점 메커니즘 해부: 왜 두 개의 CVE가 사슬처럼 묶여 있는가?
- 1) CVE-2026-109618: OOM(longjmp) 시점의 미초기화 메모리 손상
- 2) CVE-2026-109619: 워커 프로세스 내 잔류 전역 상태(Use-After-Free)
- 2. 실제 공격 패킷 분석: 외부에서 어떤 형태의 트래픽이 날아오는가?
- 공격 패킷 재구성 예시 (Annotated HTTP Request)
- 패킷에서 주목해야 할 4가지 핵심 시그니처(Indicators)
- 3. 탐지 및 차단 전략: 무엇을 잡고 어떻게 막을 것인가?
- 1) 네트워크 레벨 탐지: Suricata / Snort IDS·IPS 룰
- [Rule 1] PHP_SESSION_UPLOAD_PROGRESS를 악용한 멀티파트 RCE 시도 탐지
- [Rule 2] 비정상적인 길이의 filename(256바이트 이상)을 동반한 Heap Grooming / OOM 유도 패킷 탐지
- 2) 웹 방화벽(WAF) 레벨 차단: ModSecurity / 리버스 프록시 룰
- ModSecurity / OWASP CRS 커스텀 차단 룰
- Nginx에서 과도한 멀티파트 OOM 유발 페이로드 사전 차단
- 3) 호스트 & SIEM 로그 기반 위협 헌팅 (Threat Hunting)
- 점검해야 할 핵심 로그 키워드 3가지
- 리눅스 서버에서 즉시 실행해 볼 수 있는 침해 흔적 원라이너 점검 스크립트
- 4. 근본적 해결책: 패치 버전 및 php.ini 하드닝
- 1) 버전별 안전 패치 기준표
- 2) 당장 패치가 불가능한 서버를 위한 php.ini 임시 봉쇄
- 마치며: 프레임워크 뒤에 숨은 '런타임 엔진'의 그림자
댓글