Difference between revisions of "Custom Special Character Injection"
|Line 38:||Line 38:|
Revision as of 17:54, 4 November 2007
The software does not properly filter or quote special characters or reserved words that are used in a custom or proprietary language or representation that is used by the product. That allows attackers to modify the syntax, content, or commands before they are processed by the end system.
Simple example is an application, which executes almost everything what is passed to it from current terminal by the user without sanitazing and blocking user input. If application doesn't implement appropriate signals handling we may interrupt or suspend program execution by sending respectively Ctrl+C (^C) or Ctrl+Z (^Z) combinations. These combinations are sending signals to the application. In the first case it's SIGINT and in the second it's SIGSTOP signal.
The classic example, often used by the IRC warriors/bandits, was disconnecting modem users by sending to them a special sequence of characters. Sending via any protocol (IP) "+++ATH0" sequence caused some modems to interpret this sequence as a disconnect command. So all it had to be done was to send on IRC channel previously mentioned sequence, what in effect forced vulnerable modems to disconnect.
Assume all input is malicious. Use an appropriate combination of black lists and white lists to ensure only valid and expected input is processed by the system.