작가: 트릭스 사이러스
Waymap 침투 테스트 도구: 여기를 클릭하세요
TrixSec Github: 여기를 클릭하세요
TrixSec 텔레그램: 여기를 클릭하세요
SQL 삽입(SQLi) 시리즈 9부에 오신 것을 환영합니다! 이번 회에서는 공격자를 유인하고 귀중한 정보를 수집하도록 설계된 도구인 허니팟의 매혹적인 세계에 대해 알아봅니다. 허니팟은 SQLi 시도에 대한 고유한 관점을 제공하여 악의적인 행동을 실시간으로 탐지하고 더 깊은 통찰력을 제공합니다.
허니팟은 실제 애플리케이션, 데이터베이스 또는 서버를 모방하도록 설계된 의도적으로 취약한 시스템입니다. 프로덕션 시스템과 달리 허니팟은 합법적인 데이터를 저장하거나 실제 서비스를 제공하지 않습니다. 대신, 이들의 목적은 공격자를 유인하고, 활동을 모니터링하고, 도구, 기술 및 페이로드에 대한 정보를 수집하는 것입니다.
허니팟 배포에는 여러 가지 이점이 있습니다.
낮은 상호작용 또는 높은 상호작용 허니팟을 사용할지 결정하세요.
공격자에게 실제처럼 보이는 가짜 웹 애플리케이션을 구축하세요.
SELECT * FROM users WHERE username = '$input' AND password = '$password';
가짜 데이터로 더미 데이터베이스를 설정하세요. MySQL 또는 SQLite와 같은 도구가 잘 작동합니다. 데이터베이스가 민감한 시스템에 연결되지 않는지 확인하세요.
다음과 같은 SQL 주입 취약점을 의도적으로 도입합니다.
허니팟과의 모든 상호 작용을 모니터링하여 공격자의 행동을 포착합니다.
SELECT * FROM users WHERE username = '$input' AND password = '$password';
의도하지 않은 침해를 방지하기 위해 허니팟을 프로덕션 시스템과 격리된 상태로 유지하세요. 배포를 위해 방화벽, 가상 머신 또는 샌드박스 환경을 사용하세요.
다음은 Flask를 사용하여 SQLi 허니팟을 생성하는 기본 Python 예제입니다.
' OR 1=1; DROP TABLE users; --
from flask import Flask, request import sqlite3 app = Flask(__name__) # Dummy database setup def init_db(): conn = sqlite3.connect('honeypot.db') c = conn.cursor() c.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, username TEXT, password TEXT)") c.execute("INSERT INTO users (username, password) VALUES ('admin', 'password123')") conn.commit() conn.close() @app.route('/login', methods=['POST']) def login(): username = request.form['username'] password = request.form['password'] # Deliberate vulnerability: SQL query concatenates user input query = f"SELECT * FROM users WHERE username='{username}' AND password='{password}'" print(f"Query executed: {query}") # Logs the SQL query conn = sqlite3.connect('honeypot.db') c = conn.cursor() c.execute(query) result = c.fetchall() conn.close() if result: return "Login successful!" else: return "Invalid credentials." if __name__ == "__main__": init_db() app.run(debug=True)
IP 추적:
악성 소스를 식별하기 위해 SQLi를 시도하는 IP 주소를 기록합니다.
행동 패턴:
반복되는 시도와 진화하는 페이로드를 모니터링하여 방어에 적응하세요.
위협 인텔리전스와 통합:
허니팟에서 얻은 통찰력을 글로벌 위협 인텔리전스 플랫폼과 공유하여 커뮤니티에 기여하세요.
자동 알림:
PagerDuty 또는 Slack Webhooks와 같은 도구를 사용하여 의심스러운 활동에 대한 실시간 알림을 구성하세요.
머신러닝:
ML 모델을 사용하여 SQLi 시도의 패턴을 식별하고 향후 공격을 예측하세요.
허니팟 배포에는 윤리적, 법적 책임이 따릅니다.
SQL 주입 허니팟을 구축하면 공격자를 이해하고 방어를 강화할 수 있는 특별한 기회를 얻을 수 있습니다. 악의적인 활동을 실시간으로 모니터링함으로써 조직은 잠재적인 공격을 예측하고 보안 전략을 개선하며 더 광범위한 사이버 보안 커뮤니티에 기여할 수 있습니다.
~트릭섹
위 내용은 Part SQL 인젝션 시리즈 - 실시간 탐지를 위한 허니팟 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!