[Web] PHP기반 WebShell 인증기능 추가 (part2)
·
CERT/Web
지난 포스팅이번시간에서는 PHP 기반 간단한 명령어 실행  Web Shell 제작 (part 1)을 하였습니다.이번 포스팅에서는 지난 시간에 이어서 인증기능을 추가하는 방법입니다.저번 PHP 기반 명령어 실행 Web Shell 제작에서는 아무런 인증이 없이 WebShell이 동작이 가능합니다. 하지만 보안적으로 안전하다고 볼 수 없는 WebShell입니다. 비인가자 누군가가 WebShell 주소만 안다면 바로 동작이 가능하기 때문에 인가된 사용자만이 사용할 수 있는 인증 기능을 추가할 예정입니다.Code로 변경 $result = str_replace("\n", "", $result); }?>" method="POST"> "> ..
[Web] PHP기반 간단한 명령어 실행 WebShell 제작 (part1)
·
CERT/Web
서론오늘은 PHP를 사용해 사용자가 입력한 명령어를 서버에서 실행하고 그 결과를 웹 페이지에 출력하는 간단한 웹 페이지를 만드는 방법에 대해서 알려드리려고 합니다. 사용자가 웹 페이지에서 cmd 명령어를 입력하면 서버에서 그 명령어를 실행하고 결과를 화면에 출력하는 간단한 PHP 스크립트를 작성하였습니다.페이지 동작방식페이지의 동작방식은 [사용자 입력 → 서버 명령어 처리 → 실행 결과 반환 순서 ]로 이루어진다. 해당 과정은 사용자가 입력한 값이 서버에 전달되는 방식과 서버에서 이를 처리하고 사용자에게 출력하는 예시 흐름은 다음과 같이 동작하게 된다. 사용자가 웹 페이지에 접속한다. 사용자가 명령어를 입력한 후 Execute 버튼을 클릭하면 해당 명령어가 서버로 전송된다.서버에서 사용자가 입력한 명령어..
[Web] PHP기반으로 Web에서 파일 업로드 제작
·
CERT/Web
PHP를 이용한 Web Shell 준비PHP를 이용해서 Web Shell을 로컬환경에서 제작하기 위해서는 XAMPP나 APM_setup 같은 패키지를 이용하는 것이 매우 간단하고 효율적이다.XAMPP 설치XAMPP 같은 경우는 공식 홈페이지에서 설치가 가능하다. 운영체제에 맞는 버전을 다운로드해주면 된다.XAMPP 공식 홈페이지 -  https://www.apachefriends.org/ XAMPP Installers and Downloads for Apache FriendsWhat is XAMPP? XAMPP is the most popular PHP development environment XAMPP is a completely free, easy to install Apache distributi..
[Web] GET&POST 방식 정의 및 차이점
·
CERT/Web
HTTP 프로토콜 정의와 동작 방식HTTP는 클라이언트와 서버 간 통신에 사용하는 애플리케이션 계층 프로토콜입니다.HTTP는 다음과 같은 특징을 가지고 있습니다.Clinet-Server 구조HTTP는 Client와 Server 간 통신을 기반으로 동작한다.Client는 요청을 보내는 주체 (전화를 거는 사람, 즉 송신자) 역할을 한다.Server는 요청을 받는 주체 (전화를 받는 사람, 즉 수신자) 역할을 한다.Client는 요청(Request)를 보내고 응답이 올 때까지 대기하며 Server는 Client에서 보내는 요청을 받아 처리하고 응답을 Client에게 다시 보내주게 된다.Client-Server의 구조는 Request-Response 구조를 가지고 있다.비 연결성 (Connectionless)..
[웹 취약점] 웹 셸(Web shell) 정의 및 종류
·
CERT/Web
WebShell 이란?Web Shell은 웹 서버에 설치된 스크립트 또는 프로그램으로써 일반적으로 원격에서 웹 서버 제어, 파일 접근, 서버에 명령어 실행 할 수 있도록 도와주는 역할을 한다. 또한 Web shell을 악용하는 경우로는 웹 서버의 보안 취약점을 이용하여 공격자가 원격에서 서버를 제어하기 위해 사용하는 도구로 많이 활용되고 있다. 공격자는 웹 셸을 사용하여 서버에 악성 코드나 스크립트를 업로드하여, 데이터베이스에 접근하거나 서버에 어떤 파일들이 존재하는지 탐색하는 과정, 서버에 기밀정보들을 유출시키는 공격들을 한다.WebShell의 종류Web Shell은 다양한 형태와 기능을 가지고 있는데 대표적인 Web Shell의 형태의 종류와 그 특징에 대한 설명이다.Simple Web Shell -..
[웹 취약점] 파일 업로드 및 다운로드 취약점 개념
·
CERT/Web
Web Application의 파일 업로드 및 다운로드 기능은 사용자를 편의를 도와주지만, 보안적 측면에서 취약점이 존재할 수밖에 없다고 생각한다. 보안을 강화하기 위해서 웹 방화벽과 웹셸 모니터링 와 같은 방식으로 Web Application을 보호하는 방식으로 이루어진다.파일 업로드와 다운로드 취약점에 대한 개념과 공격자가 웹 서버를 어떠한 방식으로 공격하는지에 대한 글을 작성하고자 한다. 파일 업로드 취약점이란?파일 취약점은 Web Application에서 사용자로부터 업로드된 파일이 서버에 대한 검증이 없이 저장할 때 발생한다. 즉 공격자가 악성 파일 (web shell, script, vrius)등을 업로드하여 서버를 공격하는 방식으로 이루어진다.파일 다운로드 취약점이란?웹 애플리케이션에서 사용..