İlk olarak, önde olduğu tahmin edilen saldırganın neyi başarmaya çalıştığını bilmiyorum. Belki bir garip oturum kimliği saldırısına karşı savunmasız bir PHP komut dosyası veya PHP sürümü var, bilmiyorum. Yine de endişelenecek bir şeyin yok.
Sunucunuz tam olarak beklendiği gibi davrandı. 200, Apache'nin kendisine iletilen URL'yi nasıl yorumladığı nedeniyle bu durumda beklenen koddur.
İlk olarak, http://allrequestsallowed.com
daha olağan 'Host:' başlığı gibi davranılır ( bunun RFC'de belirtildiğini ve diğer sunucuların yanlış yaptığımı yorumlayamayacağını unutmayın , bu bölüm RFC 2616'da belirtilmiştir. 2, istemciler nadiren bu formu kullanmak gibi görünse de.
Şimdi, muhtemelen 'allrequestsallowed.com' adlı bir siteniz yok. Peki, Apache Host:
tanımadığı bir ana bilgisayar adı için bir başlık (veya eşdeğeri) aldığında ne olur ? İlk sanal ana bilgisayarı varsayılan olarak seçer. Bu, Apache için iyi tanımlanmış ve belgelenmiş bir davranıştır. İlk sanal sunucunuz ne olursa olsun (veya herhangi bir vhost yoksa sadece ana sunucu yapılandırması) ne olursa olsun devralınır.
Şimdi, verilen URL'nin geri kalanı iki bölümden oluşmaktadır - yol /
ve bir GET parametresi ( ?PHPSESSID...
bit).
Şimdi, yol /
hemen hemen her web sunucusunda mevcut olmalıdır. Çoğu durumda, elbette bunlardan herhangi birini geçersiz kılabilmenize rağmen, komut dosyası gibi index.html
veya belki de bir index.php
komut dosyasıyla eşleşir.
Statik bir HTML dosyasıyla eşleşirse, olağandışı hiçbir şey olmaz - dosyanın içeriği döndürülür ve bu parametre basitçe yok sayılır. (Belirli gelişmiş yapılandırma yönergelerine sahip olmadığınızı ve neredeyse kesinlikle yapmadığınızı varsayarsak.)
Öte yandan, eğer bir tür bir betikse, bu PHPSESSID
değişken betiğe aktarılacaktır. Komut dosyası gerçekten bu değişkeni kullanıyorsa (bu özel durumda, yalnızca PHP'nin yerleşik oturum işlemeyi kullanan PHP komut dosyalarının kullanılması olasıdır), davranışı içeriğe bağlı olacaktır.
Ancak büyük olasılıkla, /
oturumları kullanarak bir PHP komut dosyasıyla eşleştirseniz bile , dikkate değer bir şey olmaz. Oturum kimliği muhtemelen zaten var olmaz ve yok sayılır veya komut dosyası bir hata gösterir.
Olası bir durumda, oturum kimliğinin mevcut olması durumunda, saldırgan başka birinin oturumunu ele geçirebilir. Bu kötü olurdu, ama gerçekten kendi başına bir güvenlik deliği değil - delik, saldırganın oturum kimliği bilgilerini aldığı her yerde olurdu (HTTPS kullanmıyorsanız kablosuz bir ağın koklanması iyi bir adaydır). Aslında oturumu ilk olarak kullanıcının yapamadığı hiçbir şey yapamazlardı.
Düzenleme: Ayrıca, SESSIONID içindeki '% 5C' ters eğik çizgi karakteriyle eşleşir. Bu, Windows ana bilgisayarlarına dizin geçişi saldırıları için bir test gibi görünüyor.
curl -v http://allrequestsallowed.com/?PHPSESSID=5gh6ncjh00043YVMWTW_B%5CFAP -x www.example.com:80
. Varsayılan yapılandırma, ubuntu sistemimizde anlamlı içeriğe sahip olmayan bir "nginx'e hoş geldiniz" sayfası döndürüyor gibi görünüyor. Yani 200 yanıt, ancak basit bir tümünü yakalama sayfası - aslında isteği başka bir yerde veya bunun gibi bir şeyle proxy yapmıyoruz.