Command injection
Në shqip: Injektimi i komandave
ShpjegimiSQ
Nëse programi ndërton një komandë terminali me tekst nga përdoruesi (ping + adresa), sulmuesi mund të shtojë ; rm -rf /. Mos e kalo kurrë hyrjen në shell; përdor funksione që marrin argumentet veç e veç.
EnglishEN
If a program builds a terminal command from user text (ping + address), an attacker can append ; rm -rf /. Never pass input to a shell; use functions that take arguments separately.
Si ta mendosh
Si t'i lejosh dikujt të shtojë urdhra të tjerë në fund të listës së punëve të punëtorit.
Lexoje në anglisht
Like letting someone add extra orders to the end of a worker's task list.
Shembull kodipython
subprocess.run(f"ping {adresa}", shell=True) # ✗
subprocess.run(["ping", "-c", "1", adresa]) # ✓