XPath enjeksiyonu (ARCH2108)
Anahtar python.security.xpath-injection · Önem error · Kategori security · CWE CWE-643
XPath ifadesini güvenilmeyen girdiyle birleştirmek, saldırganın sorguyu değiştirip yetkisiz veriye erişmesine olanak tanır. Değişken bağlama kullanın.
Hatalı
Bölüm başlığı “Hatalı”from lxml import etree
def find_user(tree, name): return tree.xpath("//user[@name='" + name + "']")from lxml import etree
def find_user(tree, name): return tree.xpath("//user[@name=$n]", n=name)Düzeltme
Bölüm başlığı “Düzeltme”Girdiyi ifadeye gömmek yerine XPath değişken bağlama (parametre) kullanın.