Странные ссылки в лог-файлах Apache: пустая строка и то, что выглядит как код MySQL - PullRequest
0 голосов
/ 03 декабря 2018

Я прочитал свои лог-файлы в R, и когда я смотрю на реферера, появляются странные записи:

> logs <- read.table("logfile")
> referer <- data.frame(table(logs$referer))
> head(referer, 2)
Var1              Freq
1                  157
2             - 250290

Apache использует тире (-) для обозначения отсутствующего реферера.Это строка 2. Так что же означает пустая строка (``) в строке 1?На мой взгляд, это может произойти только в том случае, если Apache «забыл» записать реферер в файл журнала.

Вот одна из 157 записей с пустой строкой реферера (я анонимизировал ip клиента и мой веб-сайт).URL):

173.244.xxx.xxx - - [17/Apr/2018:08:07:46 +0200] "GET /feeds/atom.xml HTTP/1.1" 200 18820 www.my-website.com "" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36; +collection@infegy.com" "-"

Но самые загадочные рефереры выглядят так:

554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:"num";s:280:"*/ union select 1,0x272f2a,3,4,5,6,7,8,0x7b24617364275d3 ...

Я обрезал строку в конце (она продолжается немного дольше),потому что я не знаю, содержит ли он конфиденциальную информацию.У меня около 20 посещений с такими реферерами, все с одного и того же клиента ip, большинство из которых запрашивают ресурсы, которых нет на моем сервере, такие как //user.php и //cm.php.

Мне кажетсячто это, по крайней мере частично, запросы MySQL.a:2:{s:3:"num";s:459:" - начало сериализованного массива.Я использую этот формат для хранения некоторых данных из веб-формы в базе данных MySQL.Но эта обработка происходит на стороне сервера и никогда не отправляется в браузер пользователя.И как в любом случае запрос MySQL становится реферером?Я понимаю, что кто-то может попытаться ввести код MySQL в веб-форму, но это не делает эту часть реферером.

Любые объяснения были бы хорошими.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Это атака на внутреннюю инфраструктуру.Многие организации используют централизованные системы для загрузки журналов, а затем используют инфраструктуру отчетности для поддержки запросов журналов.Разработчики довольно плохо проектируют безопасные системы, и SQL в поле Referer пытается воспользоваться этим.

Злоумышленники могут также попытаться сохранить фрагменты в полях Referer и затем использовать их вдругие виды атак.

Пока вы не используете плохо разработанное программное обеспечение для запросов журналов, у вас все будет в порядке.

Это - https://resources.infosecinstitute.com/sql-injection-http-headers/ - предоставляет дополнительную информацию.

Также, как отмечено в комментарии, рассмотрите пользователя webreadr для чтения в файлах журнала веб-сервера.

И, при дальнейшем рассмотрении, это похоже на кампанию группы злоумышленниковищите компрометацию системы управления контентом "Ecshop" (https://github.com/SecWiki/CMS-Hunter/tree/master/Ecshop/ecshop2.x_code_execute). Если вы работаете, возможно, вы захотите трижды проверить свой сервер.

0 голосов
/ 03 декабря 2018

Это похоже на попытку внедрения SQL.Журналы не будут отображаться, если попытка SQL будет успешной.

Хотя это обычно показывается в поле URL, нет причины, по которой оно не могло бы отображаться в поле реферера HTTP в ваших журналах.

...