Cómo lidiar con el pirata informático que ha pirateado mi sitio de comercio electrónico de nueva creación y amenazando con piratearlo nuevamente si no cumplo con sus demandas de dar dinero

Bueno, puedo entender tu preocupación y te ayudaré con lo mismo.

por favor no le pague al pirata informático, si usted le paga, él puede hacer que sea un hábito exigirlo, o otro pirata informático puede hacer lo mismo.

Aquí estoy elobrando cómo puedes acortar el problema.

alguien hackeó tu sitio web, significa que es vulnerable.

su sitio web no es estático o dinámico.

Hacker acaba de hackear su sitio web o lo ha dañado o robado sus datos?

En primer lugar, escanee su sitio web en busca de vulnerabilidades. Las vulnerabilidades más comunes son sqli, xss, dnn, sqli string base vulnrelbilty, rfi, lfi, etc.

puede usar la herramienta Acunetix WVS para escanear su sitio web.

Compruebe su sitio web si el hacker todavía tiene acceso.

compruebe si hay algún shell php cargado. Hay un shell php llamado “404”. Cuando lo abra, es posible que vea un mensaje que indica que no se encontró la página. Para identificarlo, abra la página y presione ctrl + a. Ahora debes ver un texto aria. Si lo encuentra, vaya a su panel de control, elimine el archivo.

Shell es como una puerta trasera para un pirata informático, si el sitio web está protegido, el pirata informático puede acceder, eliminar, editar o agregar cualquier información en su sitio web, sin importar que haya cambiado su contraseña de cpanel o la URL.

Actualiza tus códigos, scripts.

Si la entrada del usuario se inserta sin modificación en una consulta SQL, la aplicación se vuelve vulnerable a la inyección SQL, consulte el siguiente script:

$ unsafe_variable = $ _POST

[‘entrada del usuario’];

mysql_query (“INSERT INTO` table`

(`columna`) VALORES

(‘$ unsafe_variable’) “);

Eso es porque el usuario puede inyectar cualquier dato

valor similar ‘); Tabla DROP TABLE; – y

la consulta se convierte en:

INSERTAR EN `tabla` (` columna`)

VALORES (‘valor’); MESA PLEGABLE

mesa;-‘)

el desarrollador puede evitar la vulnerabilidad anterior con una simple actualización en la base de datos sqli:

Estas son declaraciones SQL que se envían

hacia y analizado por el servidor de base de datos por separado de cualquier parámetro. De esta manera, es imposible que un hacker inyecte SQL malicioso.

Hay 2 formas de lograr esto:

1. Usando PDO (para cualquier unidad de base de datos compatible

$ stmt = $ pdo-> prepare (‘SELECCIONAR *

empleados DONDE nombre =: nombre ‘);

$ stmt-> execute (array (‘nombre’ =>

$ nombre));

foreach ($ stmt como $ row) {

// hacer algo con $ row

}

2. Usando MySQLi (para MySQL):

$ stmt = $ dbConnection-> prepare

(‘SELECCIONAR * DE los empleados DONDE n

=? ‘);

$ stmt-> bind_param (‘s’, $ nombre);

$ stmt-> execute ();

$ resultado = $ stmt-> get_result ();

while ($ row = $ result-> fetch_ass

()) {

// hacer algo con $ row

}

Si está utilizando una base de datos que no sea

MySQL, hay una segunda opción específica del controlador a la que puede referirse (por ejemplo, pg_prepare () y

pg_execute () para PostgreSQL). PDO es el

opción universal. Configuración correcta de la conexión Tenga en cuenta que cuando se usa PDO para acceder a una base de datos MySQL, las declaraciones preparadas reales no se usan por defecto. Para solucionar esto, debe deshabilitar la emulación de las declaraciones preparadas. Ejemplo de

crear una conexión usando PDO es:

$ dbConnection = nueva PDO

(‘mysql: dbname = dbtest; host = 127.0.0.1

‘contraseña de usuario’);

$ dbConnection-> setAttribute

(DOP :: ATTR_EMULATE_PREPARES, falso);

$ dbConnection-> setAttribute

(DOP :: ATTR_ERRMODE,

PDO :: ERRMODE_EXCEPTION);

En el ejemplo anterior, el modo de error no es

estrictamente necesario, pero se recomienda agregarlo. De esta manera, el script no se detendrá con un error fatal cuando algo salga mal. Y le da al desarrollador la oportunidad de detectar cualquier error que se arroje como PDOExceptions.

Sin embargo, lo que es obligatorio es el primero.

línea setAttribute (), que le dice a PDO que

deshabilite las declaraciones preparadas emuladas y use declaraciones preparadas reales. Se asegura de que PHP no analice la declaración y los valores antes de enviarlos al servidor MySQL (dando un

posible hacker no tiene posibilidad de inyectar SQL malicioso).

Sin embargo, puede establecer el conjunto de caracteres en las opciones del constructor, es importante tener en cuenta que las versiones ‘antiguas’ de PHP (<5.3.6) ignoraron en silencio el parámetro de conjunto de caracteres en el DSN. Explicación Lo que sucede es que el servidor de la base de datos analiza y compila la instrucción SQL que pasa para prepararla. Especificando parámetros

(ya sea un? o un parámetro con nombre como: nombre en el ejemplo anterior) el desarrollador da el comando al motor de la base de datos donde desea filtrar. Entonces cuando llamas

ejecutar, la declaración preparada se combina con los valores de los parámetros que especifique. Lo importante aquí es que los valores de los parámetros se combinan con la declaración compilada, no con una cadena SQL. La inyección de SQL funciona engañando al script para que incluya cadenas maliciosas cuando crea SQL para enviar a la base de datos. Entonces, al enviar el SQL real por separado de los parámetros, limita el riesgo de terminar con algo que no tenía la intención.

Cualquier parámetro que envíe al usar una declaración preparada solo se tratará como cadenas

(sin embargo, el motor de la base de datos puede hacer algo de optimización, por lo que los parámetros también pueden terminar como números, por supuesto). En el ejemplo anterior, si la variable $ name contiene ‘Sarah’;

ELIMINAR DE los estudiantes el resultado sería

simplemente sea una búsqueda de la cadena “‘Sarah’;

BORRAR DE estudiantes “, y no

terminar con una mesa vacía. Otro beneficio con el uso de declaraciones preparadas es que si ejecuta la misma declaración más veces en la misma sesión, solo se analizará y compilará una vez, lo que le dará algunas ganancias de velocidad.

preguntaste sobre cómo hacerlo

un inserto, aquí hay un ejemplo (usando PDO):

$ readyStatement = $ db-> prepare

(‘INSERTAR EN LA tabla (columna) VALORES

(:columna)’);

$ readyStatement-> execute (array

(‘column’ => $ unsafeValue));

¿Se pueden utilizar las declaraciones preparadas para

Consultas dinámicas?

Si bien el desarrollador aún puede usar declaraciones preparadas para los parámetros de la consulta, la estructura de la consulta dinámica en sí no se puede parametrizar y ciertas funciones de consulta no se pueden parametrizar.

Para estos escenarios específicos, la mejor acción a tomar es usar un filtro de lista blanca que restrinja lo posible

valores.

// Lista blanca de valores

// $ dir solo puede ser ‘DESC’ o ‘ASC

$ dir =! empty ($ dirección)?

‘DESC’: ‘ASC’ ;.

Si no tiene el control sobre el desarrollo del sitio web, será difícil para usted.

Mejor, llame a un experto para solucionar su problema.

Si no tiene suficiente dinero para contratar a un experto, búsqueme en Facebook, lo ayudaré a solucionar sus problemas.

Espero haberte ayudado.

cualquier duda no dude en preguntar!

Bueno, no pagues el rescate a ese tipo de pirata informático que explotará ese sitio web por dinero. Es mejor ponerse en contacto con un experto en seguridad cibernética / Probador de penetración con licencia / Investigador forense de piratería certificado / Analista de seguridad cibernética para fortalecer sus niveles de seguridad del sitio de comercio electrónico. Finalmente, también puede presentar una queja contra ese criminal en la estación de policía en cualquier forma de medio, es decir, una copia impresa del correo electrónico que le haya enviado la persona que está acosando para hackear su sitio web. Para que el problema se escale a Cyber ​​Cop o al Probador de penetración con licencia para que el criminal sea arrestado dentro de un tiempo específico.

No negocies con él.

No puede hackearte dos veces si sabes cómo te hackeó.

¿Una explotación de aplicaciones web?

¿Subió un caparazón?

¿Te engañó para robar tu información de inicio de sesión?

¿Estás usando complementos peligrosos?

¿Sabe él tu contraseña de db ahora? (¡Cámbialo de todos modos!)

¿Estás usando aplicaciones web desactualizadas? (php, mysql, apache)

Si le diste dinero, todavía te pirateará de nuevo. Si parcheó su sistema y cerró todos los puertos innecesarios y agregó algo de seguridad, podría DDOS su servidor para detenerlo.