Tienes el sitio web?, veo que utiliza en una parte htmlentities y eso no filtra las comillas simples, en cuanto a esta linea:
$db = mysql_query("SELECT * FROM `usuarios` WHERE usuario='$_POST[usuario]'"); if($db['password'] == $_POST['contraseña']){
// aqui te da permisos para entrar
}
Acá podemos ver la falla, en donde dice $_POST[usuario] siempre y cuando el servidor no tenga las famosas magic quotes ya que necesitamos escapar con una sola comilla simple...
usuario=admin'+union+select+1,2,,.......10+--+
Esto significa que escapamos con una comilla simple y comenzamos a escalar con 1,2,3,4 hasta que nos debuelva el valor impreso en la web, entonces con eso ya tendremos el número de columnas de la base de datos (ese dato te falta), luego cerramos la query con un comentario o cerrando la comilla antes del último número.
Una ves hecho esto recuerda que la base de datos estará debolviendo todos los datos del usuario seleccionado pero en este caso te debolverá la sql inyección o sea user:1 pass:2 mail:3 otrodato:4 y así asi que ahora debes poner como usuario admin si es que quieres entrar comoa dmin porque no se sabe cual es el nombre de usuario de la entrada.. y de contraseña le pones lo que pusiste en la sql inyección dependiendo la columna, para eso te aseguras con esto:
usuario=admin'+union+select+1,1,1,.......1+--+
Con esto ya sabrás que te va a debolver como contraseña un uno y ese será la respuesta que debes poner en el formulario, pones user admin y pass 1 y podrás tener acceso.
Otra forma es haciendo un update db.users con el valor del nuevo password.
Ahora recuerda que no siempre las contraseñas están escritas en las bases de datos de los sitios web tal como la escribes, por lo general están hechas en md5 aunque si no fuera así solo quedaría adivinar y tener una bola mágica

asi que en la inyeción sql ingresas en la columna del pasword el valor del password codificado en md5 que sería
md5('1') = c4ca4238a0b923820dcc509a6f75849b
que puedes ponerlo con char(x,x,x,) o concat(0xdword).
En resumidas palabras te estoy dando la respuesta de una prueba en el warzone

jajajaja ya va a venir sdc a colgarme

pero bueno asi es la vida.
Con respecto al primero solo debes escapar con
") and [query] or 1=("1