标题: 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