Secure coding: Difference between revisions

Content deleted Content added
Line 37:
</syntaxhighlight>Yukarıdaki kod parçasında, program '''''src''''' into '''''dst,''''' içeriklerini kopyalar,bunu yaparken de malloc'tan gelen dönüş tipini kontrol eder ki hedef belleğin yeterli hafızası olsun.
 
== FormatBiçim-stringDizgi attackSaldırısı preventionÖnlemleri ==
[[Biçim Dizgi Saldırısı|Format String Attack]] kötü amaçlı kullanıcının fonksiyon içine argüman olarak spesifik girdiler vererek biçimlendirmeye çalışmasıdır,örneğin [[printf()]] bir biçim-dizgi saldırısıdır.Düşman kişi okuma ve yazma yaparak saldırıyı gerçekleştirebilir. [[Çağrı yığıtı|stack]].
A [[Format string attacks|Format String Attack]] is when a malicious user supplies specific inputs that will eventually be entered as an argument to a function that performs formatting, such as [[printf()]]. The attack involves the adversary reading from or writing to the [[Call stack|stack]].
 
C fonksiyonu çıktıyı stdout a yazar.Eğer parametreler biçimsel olarak uygun değilse,çeşitli güvenlik hatalarıyla karşılaşılabilir.Aşağıda biçim dizgi hatasına sebebiyet verebilecek örnek bir program verilmiştir.<syntaxhighlight lang="c++">
The C printf function writes output to stdout. If the parameter of the printf function is not properly formatted, several security bugs can be introduced. Below is a program that is vulnerable to a format string attack.<syntaxhighlight lang="c++">
int vulnerable_print(char * malicious_input) {
printf(malicious_input);
}
</syntaxhighlight>AProgramın maliciousuygunsuz argumenthafıza passedokumasından todolayı thesona programerdirebilecek couldhatalı beolarak verilebilecek argüman “%s%s%s%s%s%s%s”, which can crash the program from improperparametre memoryolarak readsverilmiştir.
 
== Integer-overflow prevention ==