Yerlik Başlığı Saldırısı
Markanız için 300X300 alan.
Bu yerlik başlığı saldırısı sayfasının iyi anlaşılabilmesi için Siteler Arası İstek Dolandırıcılığı - Cross Site Request Forgery - CSRF (XSRF) temeli anlaşılmış olmalı.
Yerlik başlığı saldırısı; bir sunucunun birden fazla yerliğe (veb sitesine) ve / veya uygulamaya hizmet verdiği durumlarda bağlantının hangi yerlik ya da uygulama için gerçekleştiğini sunucuya belirten yerlik başlığının yeniden düzenlenmesiyle gerçekleştirilen saldırı türüdür.
Yerlik başlığı saldırısı X-Forwarded-Host
kullanamıyla da gerçekleştirilebilir.
Yerlik başlığı saldırısına bir örnek:
GET / HTTP/1.1
Host: www.örnek.com
X-Forwarded-Host: www.saldırgan.com
Adreslerde http(s)
ve www
Kullanımı
Bazı bulunaklar (adresler) http(s)://www.
ile başlarken bazıları yalnızca http(s)://
ile başlar.
Unutmayın ki her sunucu, yerlik hizmeti sunmak zorunda değil.
www
ile başlayan bulunaklar sunucuya istemci tarafından yerlik istendiğini belirtir (WWW = World Wide WEB). Yalnızca http(s)://
ile kurulan bağlantılar oyun sunucusu, radyo ve benzeri bir bağlantı da kurmaya çalışıyor olabilir.
www
olmadan yerlik istenebilmesi için (örn. https://SonDevrim.com), sunucunun doğru biçimde yapılandırılmış olması gerekir.
Bağlantı http://
ise Firefox bulunak satırında (adres satırında) bunu göstermez çünkü http://
her bağlantıda zaten kullanılır. Bulunakta www
kullanılması durumunda ise www
kullanıcıya gösterilir. https://
bağlantıları ise her koşulda ve özellikle gösterilir.
Yukarıdaki örnekte https
bağlantısı ve www
kullanılmadığından fare ile bağlantının üzerine gitmeniz durumunda bulunak yalnızca sondevrim.com olarak gösterilir.
Siz bulunağı büyük tamgalarla (tamga : Karakter, harf) yazsanız da bağlantıda küçük tamga kullanılır ve her bulunak /
ile bitmek zorunda olduğundan size gösterilmese de bağlantı kurulurken bu /
bulunağın sonuna eklenir.
Bir çok veb yazılımı nerede olduklarını bulurken HTTP yerlik başlığına dayanır. Ne yazık ki bir çok yazılım geliştirici HTTP yerlik başlığının kullanıcıların denetiminde olduğunu kavramaz. Bildiğiniz üzere, yazılım güvenliğinde kullanıcıdan gelen veriler Güvenilmeyen Veridir ve kullanımından önce kesinlikle denetlenmelidir.
Yerlik başlığı kullanımı PHP veb yazılımlarında yaygın olsa da, PHP yazılımlarına özgü bir sorun değildir. Aşağıdaki PHP betik kullanımı yerlik başlığının tipik ve de tehlikeli olarak kullanımına bir örnektir :
<script src="http://<?php echo _SERVER['HOST'] ?>/script.js">
Bir saldırgan yukarıdaki kodu, yerlik başlığı saldırısı gerçekleştirmek amacıyla aşağıdaki HTML çıktısındaki gibi sonuç alacak biçimde değiştirebilir :
<script src="http://saldırgan.com/script.js">
Yerlik başlığı saldırısının iki ana vektörü veb-belleği zehirlenmesi (web-cache poisoning) ve hassas işlemler gerçekleştirebilmek için kötüye kullanım, şifre yenileme gibi.
Veb Belleği Zehirlenmesi Web-Cache Poisoning - Yerlik Başlığı Saldırısı
Veb belleği Zehirlenmesi ya da asıl adıyla web-cache poisoning -veb keş poyzining okunur- veb belleğinin değiştirilmesini sağlayarak sayfa isteyen herkesin zehirlenmesini amaçlayan bir yerlik başlığı saldırısı tekniğidir.
Veb belleği zehirlenmesinin gerçekleşebilmesi için bir saldırgan, sayfa tarafından yürütülen ve bellekleme amacıyla kullanılan bir vekil sunucuya (proxy), veri dağıtım ağına (CDN), sindikatörlere ya da istemci ve sunucu arasında duran ve belleklemeye yarayan diğer mekanizmalara gereksinim duyar. Böylelikle bellek zehirlenmiş içeriği onu isteyen herkese sunar, kurbanın kötü niyetli olarak sunulan içerik üzerinde hiç bir denetimi olmaz.
Aşağıdaki örnek, bir saldırganın yerlik başlığı saldırısını veb belleğini zehirleyerek nasıl kullanabileceğini gösterir:
$ telnet www.örnek.com 80
Deniyor x.x.x.x...
Bağlanıyor www.örnek.com.
Kaçış tamgası '^]'.
GET /index.html HTTP/1.1
Host: saldırgan.com
HTTP/1.1 200 OK
...
<html>
<head>
<title>Örnek</title>
<script src="http://saldırgan.com/script.js">
...
Şifre Yenileme Zehirlenmesi - Yerlik Başlığı Saldırısı
Şifre yenileme işlevini gerçekleştirmede yaygın olarak kullanılan yol gizli istek oluşturmak ve bunu (kurbana) email yoluyla bir bağlantı olarak göndermek. Bir saldırgan yerlik başlık bilgisiyle şifre yenilemeyi isterse ne olur?
Eğer veb yazılımları şifre yenilenirken yerlik başlık bilgisi kullanılıyorsa, bir saldırgan kurbana gönderilen şifre yenileme bağlantısını zehirleyebilir. Eğer kurban email ile gelen zehirli yenileme bağlantısına tıklarsa, saldırgan şifre yenilemede kullanılan tokeni elde eder ve böylelikle kurbanın şifresini kendisi yeniler.
Şifre Yenileme Zehirlenmesi Saldırılarını Engelleme ya da Zayıflatma - Yerlik Başlığı Saldırısı
Şifre yenileme zehirlenmesi saldırısını engellemek kolaydır, yerlik başlığına güvenmezsiniz, olur biter. Bazı durumlarda söylemesi kolaydır. Geriye dönük uyumluluk nedeniyle yerlik başlığı bilgisi kullanımının zorunlu olduğu durumlar gibi yapmanın söylemesi kadar kolay olmadığı durumlarda yerlik başlığı saldırısını engellemek için (güvenilir) beyaz dizelge kullanılabilir.