Timthumb.php Güvenlik Açığı


0

Dünyada ve ülkemizde birçok web sitesinde kullanılan hazır sistem wordpress ve php tabanlı birçok sistemde kullanılan, resim boyutlandırma ve croplama dosyası timthumb.php nin bilinen ciddi bir açığı bulunmaktadır.


Yapısında timthumb.php olan her sitenin bu güvenlik açığını kapatması, aksi takdirde her an hacklenme olasılıklarının bulunduğu bir gerçektir.

Timthumb.php dosyası birçok wordpress tema ve eklentisinde yer alan ve resimleri boyutlandırmaya yarayan bir dosyadır. Bu dosya işlevi bakımından her ne kadar önemli olsa da, içerisindeki açık giderilmediğinde ciddi sorunlara neden olmaktadır.

Bu güvenlik açığının bulunduğu satırlar aşağıdaki gibidir.
$allowedSites = array (
‘flickr.com’,
‘picasa.com’,
‘blogger.com’,
‘wordpress.com’,
‘img.youtube.com’,
‘upload.wikimedia.org’,
‘photobucket.com’,
);

Bu kodlar dizi içinde belirtilen güvenli sitelerden resim çekebilmek ve thumbnail dediğimiz site içinde resmin küçük halini önbelleğe almak için kullanılır.

Fakat bu yukarıdaki güvenli siteler olarak geçse bile herhangi bir sitenin adında yukarıdaki dizide geçen isimlerden biri yer alırsa bu sitelerden gelen istek güvenli olarak algılanır ve sitemizde güvenlik açığı meydana gelir. Örneğin: Sitemizdeki resimleri boyutlandırmak için “siteadi.com/timthumb.php?src=resimler/resimadi.jpg&w=500&h=500&zc=1” şeklinde kullanırız.

Sitemize yukarıda belirttiğimiz sitelerden birinden resim çekmek için ise youtube üzerinden bir resmi sitemizde göstereceksek eğer
siteadi.com/timthumb.php?src=http://img.youtube.com/vi/Do5MMmEygsY/hqdefault.jpg&w=500&h=500&zc=1 şeklinde kullanırız.

Saldırgan sitemizi ele geçirmek yani hacklemek için yukarıda anlattığım açığı aşağıdaki gibi kullanır.

Saldırı Yöntemi: Öncelikle yukarıda belirtilen güvenli site dizisinden birinin adını barındıran yeni bir domain alınır.(Örneğin denemeyoutube.com gibi) Yukarıda belirttiğim timthumb içine
denemeyoutube.com sitesinden dosya linki göndererek hedef site içerisinde yeni bir dosya(Shell dosyası) oluşturabilir.

Shell dosyaları yüklendiği siteleri dışardan dosya yüklemeye içerdeki dosyaları değiştirme silme vb izinler vermek kısacası hedef site içinde at koşturmak için kullanılır diyebiliriz.

Timthumb açığını kapatmak için timthumb.php dosyasında yukarıda belirttiğim dizi içindeki satırlar temizlenmeli ve

$allowedSites = array (); şeklinde olmalıdır.

Bu şekilde dış sitelere yazma izni engellenmiş olur.


Beğendin mi? Arkadaşlarınla ​​paylaş!

0

Tepkileriniz Nedir?

hate hate
0
hate
confused confused
0
confused
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
2
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
admin