180 likes | 287 Views
Learn about critical software vulnerabilities such as array overflows, stack overflows, string problems, pointer clobbering, dynamic memory management, integer arithmetic problems, and more. Master the essentials to strengthen your software security.
E N D
Synopsis • Array overflows • Stack overflows • String problems • Pointer clobbering. • Dynamic memory management • Integer arithmetic problems • Formatted Output Output • File I/O • Others (the cwe.mitre.org taxonomy)
Arrays • Array are data groupings; they are numbered sequentially. • The programmer refers to them through a number (constant) or a variable (datum). • The trouble is, sometimes the data doesn't have the value you expect..
Array overflows • If you are referencing an array, are outside the array, and are modifying the array, you are really modifying something else: among the possibilities are: • Other data, • Instructions, • pointers
Stack overflows • A stack is a special kind of array in that it is implemented in an array; the problem may be because you tro to store too much data in the stack.
Strings • Strings are sequences of characters. • They are either terminated by a special character (common) or their length is indicated somewhere (less common).
String problems • String termination • Off-by-one errors • Buffer and input overflows • Code injection • Arc injection