from flask import Flask, request, jsonify app = Flask(__name__) # Моковая база данных для демонстрации knowledge_base = { "intitle:index.of filetype:php": "Результаты поиска открытых директорий", "filetype:txt intext:password | intext:passwd": "Файлы с паролями найдены", "filetype:conf inurl:config": "Конфигурационные файлы найдены", "filetype:log intext:error | intext:failed": "Логи с ошибками найдены", "inurl:.* -intext:github": "Скрытые файлы найдены", "inurl:wp-config.php | inurl:database.php": "Специфические файлы найдены", "filetype:conf intext:username | intext:password": "Файлы конфигурации с учетными данными найдены", "filetype:bak inurl:password | inurl:config": "Резервные файлы с конфиденциальной информацией найдены", "filetype:old intext:secret | intext:credentials": "Устаревшие файлы с секретной информацией найдены", "filetype:swp intext:login | intext:auth": "Временные файлы с авторизационной информацией найдены" } @app.route('/api/search', methods=['POST']) def search(): """ Обработка POST-запроса для поиска. Принимает JSON с параметром 'query' и возвращает результаты поиска. """ data = request.json # Получаем JSON из запроса query = data.get('query', '').strip() # Извлекаем параметр 'query' if not query: return jsonify({"error": "Query is required"}), 400 # Поиск в моковой базе данных result = knowledge_base.get(query, "По вашему запросу ничего не найдено") return jsonify({"result": result}) @app.route('/api/examples', methods=['GET']) def get_examples(): """ Возвращает список примеров запросов для поиска уязвимостей. """ examples = list(knowledge_base.keys()) return jsonify({"examples": examples}) if __name__ == "__main__": app.run(host='0.0.0.0')