File size: 2,384 Bytes
187d9e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a86d3b9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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')