Code Injection:
Eso es cuando un usuario puede enviar codigo ejecutable a tu pagina por ejemplo con SQL, o PHP. Imagina que en una pagina pides el nombre de usuario, y que una funcion (ej. PHP) reciba la info y la ponga en una sentencia sql y la ejecute. Pero el que ataca en vez de mandar un nombre manda una sentencia SQL para borrar tus datos o toda tu base de datos.
Lgicamente el atacante tiene que tener en cuenta que si por ejemplo tu tienes tu sentencia asi
insert in usuarios values ('$nombre');
debe de incluir codigo para manejar tus sentencias, podria mandar algo asi en la forma.
'hack' , 'hack'); drop database; insert into hack values(''
y si eso lo pegas en tu sentencia sql
insert in usuarios values ('hack' , 'hack'); drop database; insert into hack values('');
Como se ve despues de agregar un usuario inyecta codigo para borrar tu base de datos, despues (tercera instruccion) solo crea un comando para que la sentencia pase como SQL valido, por que fallara ya que no hay tabla hack, de hecho nisiquiera hay base de datos.
Soluciones hay muchas, casi todos los lenguajes manejan funciones del estilo "preparar" que verifica que no se pase codigo al codigo, solo debes de darle una leida a la documentacion del lenguaje que uses.
-----
Spam o spambot.
Son robots encargdos de generar basura en tu sitio, por ejemplo si tiene una encuesta o un libro de visitas, estos programas automatizados mandan mensajes al libro de visitas, saturandolo, y podiendo desencadenar otros problemas, como uno mas adelante.
Por ejemplo si tienes una encuesta que recibe info por medio de un GET, osea pasando la informacion por URL, basta con hacer una programita que mande a tu pagina la url.
http://ejemplo.com/encuesta.php?id=234&opcion=10
Esto lo metes en un ciclo infinito y listo, tendras miles de votos extra.
Los puedes evitar con las herramientas captcha (Completely Automated Public Turing test to tell Computers and Humans Apart), esas herramientas en las que tienes que poner letras, y que el usuario ademas de mandar las opciones, mande las letras.
O dando un limite para volver a votar o enviar informacion.
-----
Dos o DDos:
Son ataques en los que usan tu pagina para realizar soliticudes al servidor en gran cantidad, empiezas a usar muchos recursos del servidor y te acabas el ancho de banda o sobrepasas la carga de CPU y x10hosting te suspende, o el servidor truena.
Esto sucede mas cuando solicitamos informacion en formularios, que es cuando se le exige mas al servidor, ya sea procesando la informacion, almacenandola, re-enviandola, etc.
Estos ataques deben de ser masivos, los DDoS por ejemplo, son distribuidos, osea que se ejecutan en muchisimas computadoras al mismo tiempo.
Los puedes evitar si haces paginas ligeras, con poca carga del servidor, usando captcha, etc.
----
Nota: Las SQL tal vez esten mal, solo las use para ilustrar mi punto. Los ejemplos son muy chafas, hay que leer para poder hacerlo bien. Ademas los servidores tienes protecciones aparte de las que nosotros damos.