В обшем я написал такую вещь, которая среди посетителей сервака отсеивает лысых обезьян по юзер-агенту:
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# Юзер-агенты
# curl/8.10.1
# python-requests/2.32.3
# python-httpx/0.27.2
# Python/3.12 aiohttp/3.9.5
# Go-http-client/2.0
# Фильтруем запросы от ботов
map $http_user_agent $is_bot {
default 0;
~*curl 1;
~*Wget 1;
~*python-requests 1;
~*python-httpx 1;
~*aiohttp 1;
~*Go-http-client 1;
}
# удобно с помощью jq искать нужные данные
# TODO: добавить cookie, все заголовки
log_format json_combined escape=json
'{'
'"local_time":"$time_iso8601",'
'"ip_addr":"$remote_addr",'
'"user_agent":"$http_user_agent",'
'"http_cookie":"$http_cookie",'
'"http_authorization":"$http_authorization",'
'"referrer":"$http_referer",'
'"content_type":"$http_content_type",'
'"request_method":"$request_method",'
'"request_uri":"$request_uri",'
# '"request_url":"$scheme://$host$request_uri",'
# '"body_bytes_sent":"$body_bytes_sent",'
'"request_body":"$request_body",'
'"response_status":$status,'
'"response_content_type":"$sent_http_content_type"'
'}';
access_log /var/log/bot_access.log.json json_combined if=$is_bot;
# ...
}
Что-то такое в логе имеем:
{"local_time":"2024-11-07T13:22:47+00:00","ip_addr":"45.155.91.226","user_agent":"python-requests/2.27.1","http_cookie":"","http_authorization":"Basic QURNSU46QzFzYzA=","referrer":"","content_type":"","request_method":"GET","request_uri":"/level/15/exec/-/sh/run/CR","request_body":"","response_status":404,"response_content_type":"text/html; charset=UTF-8"}
За айпи этот можете не переживать, он принадлежит говнохостингу для дорвеев из Бахрейна (dedires точка com чтобы рекламу не создавать). И в месяц он пару тысяч запросов делает. Я этих подонков не баню, хотя часто они флудят какими-то уязвимостями, которые известны с 2017 и ранее… Это скорее всего просто чей-то сайт на вротпрессе взломали через какой-нибудь плагин типа ЦЗ Super Cache…
Я запросы изучаю с целью создания сплойтов, так как детали многих уязвимостей не раскрываются либо намеренно искажаются.
И вот вопрос: а по каким юзерагентам их еще можно палить? Или есть надежнее способ?