웹 애플리케이션 보안 취약점 2
·
웹 · 앱
1. File Upload 취약점악성 파일(exe 등) 업로드 자체도 위협이지만, 핵심 목적은 php, asp, jsp 등 서버 사이드 언어로 작성된 파일을 업로드하고 실행시켜 서버 권한을 탈취하는 것이다.Webshell: 서버 사이드 언어를 이용해 웹 서버의 쉘(명령 실행 권한)을 획득하는 악성 스크립트.1-1. 공격 절차 (기본 흐름)웹쉘 파일 업로드업로드된 파일의 저장 경로 파악해당 URL에 접속하여 파일 실행 → 쉘 획득1-2. Content-Type 변조를 통한 필터 우회업로드 시 클라이언트가 보내는 Content-Type 헤더를 서버가 신뢰하는 경우, 이를 조작해 필터를 통과시킬 수 있다.-- 원본Content-Type: application/octet-stream-- 변조 (이미지로 위장)C..
웹 애플리케이션 보안 취약점
·
웹 · 앱
1. XSS (Cross Site Scripting)취약점이 있는 웹사이트에 방문한 사용자의 브라우저에서 악의적인 HTML 태그나 자바스크립트가 동작하는 공격. 공격자가 작성한 스크립트가 피해자의 시스템(브라우저)에서 실행된다.공격 코드를 요청 안에 심는 방식. 요청과 응답에 의해서 발생하는 공격 방식이기 때문에 서버에 저장되지 않는다.공격 목적쿠키 훔치기 (세션 탈취)악성 코드 주소로 강제 이동페이지 변조 (Defacement)피해자 브라우저 제어Common Payloads1-1. Reflected XSS개념웹 서버가 입력값을 검증 없이 그대로 응답에 반영(reflect)할 때 발생검색창, URL 파라미터 등 사용자 입력이 반영되는 모든 지점에서 공격 가능응답 페이지의 구조(태그, 위치)를 파악한 뒤 ..
DB Hydra Brute Force Attack
·
데이터베이스
1. 포트 스캔 (nmap)nmap -p 1433,3306,1521 -sV 192.168.63.128실행 결과Starting Nmap 7.94 ( https://nmap.org ) at 2026-07-28 03:16 EDTNmap scan report for 192.168.63.128Host is up (0.00065s latency).PORT STATE SERVICE VERSION1433/tcp filtered ms-sql-s1521/tcp filtered oracle3306/tcp open mysql MySQL 5.5.5-10.5.29-MariaDBMAC Address: 00:0C:29:38:A7:A0 (VMware)Service detection performed. Ple..
DVWA
·
웹 · 앱
*웹 취약점 사이트 LABInstall set 명령어sudo dnf install -y httpd mariadb-server git php php-mysqlnd php-gd php-cli php-jsonsudo systemctl enable --now httpd mariadbcd /var/www/htmlgit clone https://github.com/digininja/dvwa.git dvwa- 설정 파일과 데이터베이스 세팅```bashcd /var/www/html/dvwa/configcp config.inc.php.dist config.inc.phpvi config.inc.php세팅 계정 확인 : dvwa / p@ssw0rddvma 데이터베이스 생성mysql -u root -pCREATE DATABA..
Ansible Handler Ignore
·
Ansible
1. Handlers 실습playbook1.yaml - handler---- name: handler is running hosts: 192.168.63.134 tasks: - name: Install httpd dnf: name: httpd state: present notify: Install mysql-server handlers: - name: Install mysql-server dnf: name: mysql-server state: presenthttpd 설치 태스크가 변경(changed)되면 notify를 통해 handler 호출 playbook2.yaml---- name: Install httpd ..
Ansible Fact
·
Ansible
Ansible Factsplaybook 실행 시 gather_facts: true 명령어가 기본적으로 세팅되어 수집되는 정보들이다.default ipv4서버의 기본 네트워크 인터페이스 정보를 담은 딕셔너리주요 키address : IP 주소gateway : 기본 게이트웨이interface : 인터페이스 이름 (예: ens33)netmask, network, prefix : 서브넷 관련 정보macaddress : MAC 주소interfaces서버에 존재하는 모든 네트워크 인터페이스 이름의 리스트ipv4개별 인터페이스별 IPv4 상세 정보 lsblk원격 서버가 아닌 리눅스 자체의 명령어디스크 및 파티션 구조를 트리 형태로 표현fqdnhost의 전체 도메인 이름dns서버에 설정된 DNS 관련 정보 Playb..
Ansible Adhoc
·
Ansible
IAC (Infrastructure As Code)Terraform 등이 대표적인 도구구성 요소제어 노드 (Rocky Linux1)대량의 노드들을 코드로 제어 → 취약점 탐지 등에 유리Ansible 설치는 제어 노드에서만 이루어짐자기 자신도 관리 대상에 포함될 수 있으므로 python 설치 필요관리 노드 (Rocky Linux2)python 설치 필요제어 노드 기능관리 노드 목록 → Inventory코드 파일 → Playbook (.yaml / .yml)설정 파일 → ansible.cfg환경 세팅사용자 비밀번호 로그인 가능 설정 sudo vim /etc/ssh/sshd_config터미널에서 rocky1(제어 노드) 연동호스트네임 설정-- 제어 노드sudo hostnamectl set-hostname co..
DataBase 기본 구문 2
·
데이터베이스
1. 계정 및 권한 정보 (mysql 데이터베이스)mysql 시스템 데이터베이스의 user 테이블에는 다음 정보가 저장된다.계정 이름접속 허용 호스트패스워드(hash)권한 정보계정/호스트 조회MariaDB [mysql]> SELECT user, host FROM user;+-------------+-----------+| User | Host |+-------------+-----------+| test | 192.168.% || mariadb.sys | localhost || mysql | localhost || root | localhost |+-------------+-----------+4 rows in set (0.001 sec)user ..