48 WAF 우회 - 권한 제어 및 코드 난독화와 동작 시뮬레이션
WAF(웹 애플리케이션 방화벽)를 우회하는 과정은 여러 측면에서 고려해야 합니다. 우선 권한 확보 후 파일 읽기, 쓰기, 실행 등의 작업을 수행하려 할 때, 이 모든 행위는 WAF에 의해 감시되고 차단될 수 있습니다. 따라서 단순히 코드 레벨에서 우회하는 것만으로는 부족하며, 행동 패턴까지도 고려해야 합니다.
예를 들어, PHP 기반의 웹쉘 코드는 다음과 같습니다:
< ...
9월 3일 18:02에 게시됨
Pest 테스트 케이스 명명 규칙: 가독성과 유지보수성을 높이는 실용적 지침
테스트 코드는 단순한 검증 도구가 아니라 시스템의 행동을 설명하는 생동하는 문서입니다. 특히 Pest는 PHP에서 BDD 중심의 간결한 문법을 제공하므로, 명확하고 일관된 명명 방식은 팀 협업과 장기적인 코드 품질에 직접적인 영향을 미칩니다.
행동 중심 명명 전략
Pest의 it() 함수는 자연어 스타일로 테스트 의도를 표현하기에 적합합니다. 다음 구조를 권장합니다:
/ ...
8월 21일 15:34에 게시됨
PHP 개발 시 주의해야 할 주요 함정 및 보안 이슈
1. 부동소수점 연산의 정밀도 한계
PHP에서 부동소수점 값을 직접 등호 연산자로 비교하는 것은 위험합니다. 예를 들어 0.1 + 0.2 === 0.3 연산은 false를 반환합니다. 이는 IEEE 754 표준이 대부분의 십진수를 유한한 이진수열로 완벽히 표현하지 못하기 때문입니다. 정확한 비교가 필요한 경우 BCMath 확장의 bccomp()를 활용해야 합니다.
$valA = 0.1 + 0.2;
$valB = 0. ...
8월 21일 10:31에 게시됨
PHP 파일 포함 취약점 및 스트림 래퍼 심층 분석
파일 포함 개념 및 취약점 발생 원리
PHP 개발 과정에서 모듈화를 위해 특정 코드를 별도의 파일로 작성하고, 필요할 때 해당 파일을 로드하여 사용하는 기능을 파일 포함(File Inclusion)이라고 합니다. 그러나 포함할 파일의 경로가 사용자로부터 입력받는 변수에 의해 동적으로 결정될 경우, 보안 검증이 부족하면 공격자가 서버 내의 임의 파일을 읽거나 외부의 악성 ...
8월 19일 23:44에 게시됨
SQL 인젝션 취약점 분석 및 UNION 기반 데이터 추출 기법
관계형 데이터베이스 기본 연산
데이터베이스 조작을 위한 기본 SQL 구문은 인젝션 공격의 기반이 됩니다. 다음은 데이터베이스 및 테이블을 관리하고 데이터를 조회하는 핵심 명령어입니다.
데이터베이스 및 테이블 관리
-- 데이터베이스 생성 및 선택
CREATE DATABASE inventory_db;
USE inventory_db;
-- 테이블 생성 및 데이터 삽입
CREATE TABLE products (
ite ...
8월 7일 20:44에 게시됨
CentOS 6에 Nginx, PHP, MySQL, Memcached 및 WordPress 설치 가이드
LNMP 환경 구축
먼저 Linux, Nginx, MySQL, PHP(LNMP) 스택을 준비합니다. 자세한 설치 과정은 다음 링크를 참조하세요: LNMP 구축 가이드.
1. Memcached 설치
Memcache와 Memcached는 모두 키-값 캐싱 도구이지만, Memcached가 더 현대적이고 안정적입니다. 여기서는 Memcached를 권장합니다.
방법 A: Yum으로 설치
yum -y install memcached
# Memcached 시작
service ...
8월 6일 19:18에 게시됨
PHP 배열에서 마지막 등장 요소만 남기고 중복 제거하기
PHP 배열에서 중복된 요소를 제거하면서 마지막에 등장한 요소만 유지하는 방법에 대해 알아보겠습니다. 내장 함수인 array_unique()는 기본적으로 첫 번째 등장 요소를 유지하기 때문에, 원하는 결과를 얻기 위해서는 추가적인 처리가 필요합니다.
PHP 배열은 키-값 쌍의 모음입니다. array_unique() 함수가 첫 번째 등장 요소를 유지하는 이유는 값 자체를 기준으로 중 ...
8월 2일 08:29에 게시됨
PHP 7의 주요 기능: 함수, 타입 선언 및 연산자
PHP 7은 이전 버전에 비해 다양한 새로운 기능과 개선 사항을 도입하여 개발 생산성과 코드의 견고성을 향상시켰습니다. 이러한 기능들 중에는 가변 인자 함수를 위한 확장 파라미터, 배열 및 순회 가능한 객체를 함수 호출에서 직접 펼치는 파라미터 전개, 그리고 네임스페이스 내에서 함수와 상수를 보다 명확하게 가져올 수 있는 기능이 포함됩니다.
가변 인자 함 ...
7월 28일 02:12에 게시됨
Open Journal Systems (OJS) 프로젝트 구조 및 설정 안내
Open Journal Systems(OJS)는 학술 저널 발행 및 관리 프로세스를 지원하기 위해 설계된 오픈 소스 소프트웨어입니다. 이 문서에서는 OJS 프로젝트의 핵심 구조와 주요 설정 파일에 대해 자세히 살펴보겠습니다.
1. OJS 프로젝트 디렉토리 구조 분석
OJS 프로젝트의 디렉토리 구조는 여러 기능 영역으로 명확하게 구분되어 있습니다. 각 디렉토리와 파일은 특정 목적을 ...
7월 27일 10:37에 게시됨
서버 없이 30초 만에 블로그 개설: Dropplets 마크다운 CMS 활용법
Dropplets는 데이터베이스가 필요 없는 초경량 마크다운 기반 블로그 플랫폼입니다. 단일 PHP 파일로 구성되어 설치부터 운영까지 30초면 충분합니다. 복잡한 CMS에 지친 개발자나 빠른 문서 공유가 필요한 사용자에게 적합합니다.
왜 Dropplets인가?
기존 워드프레스나 고스트 같은 시스템은 데이터베이스 설정, 플러그인 관리, 보안 업데이트 등 많은 부수 작업이 필요 ...
7월 27일 04:46에 게시됨