La consulta en cuestión probablemente se parece a esto:
SELECT * FROM users WHERE user = '$user' AND pass = '$pass'
Las variables $user y $pass probablemente se desinfectan eliminando o escapando a " y / o ' . Es por eso que un ataque estándar de ' or '1'='1 o similar no está funcionando.
Con su inyección, obtendrá la siguiente consulta:
SELECT * FROM users WHERE user = '\' AND pass = '||1#'
A medida que escapa ' de la consulta, user ahora se compara con ' and pass = (que probablemente se evaluará como false , ya que no existe tal usuario). # es un comentario que corta el resto de la consulta, por lo que ||1#' se evalúa como OR true , lo cual será cierto. Ahora es probable que el código de autenticación obtenga el primer resultado de esa consulta, o verifique si se devolvió algo y, por lo tanto, se autentique.