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