设为首页收藏本站

宽带技术网

 找回密码
 注 册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3146|回复: 4

F420不拆机开telnet研究,求web_shell_cmd.gch等文件

[复制链接]
F420, V3.2x 固件,telnet, ftp等权限全部被关,web_shell_cmd.gch被移除,不拆机开telnet服务,以下是一些研究及设想:8 ?/ m" F0 o4 z( w

; t1 Q& r- Z! t. c7 X* C( n' {; K  r( g$ X) }# q

9 [& [8 q' l2 s% B' Q3 |7 o$ q: r7 q- I
研究了网上能找到的web_shell_cmd.gch 文件,发现发送命令应该是这个函数完成:* S% p2 ?$ W$ ?2 |" l% y
2 o. W( F! o% h! x) s

; W6 X/ @  H$ ^$ l8 Kfunction pageSubmit()
. v/ J' L% \; o) P' G{3 q9 j4 P' r# Z( X% W
jslDisable("Btn_Submit"); //将提交按钮状态设置为无效; |) A- ~+ D6 _
pageSetValue(); //将“Frm_Cmd”输入框中输入的命令传给对象“Cmd”,这是一个隐藏的输入框,6 U! J: w, G4 C7 ?! w
setValue("IF_ACTION","apply"); //将值“apply”传递给“IF_ACTION”对象,这也是一个隐藏的输入框) |, V: X7 m! Y" e7 ]' R
getObj("running").style.display = ""; //设置运行状态等,无关紧要
: M& X* Z; z7 T& c! bgetObj("running_title").innerHTML = "it is running, please wait..."; //设置运行状态等,无关紧要7 z: k( ^8 b- i2 ^2 h4 w* V9 O5 }
getObj("fSubmit").submit(); //提交表单fSubmit到服务器,这是个隐藏的表单
. f' e. t! m& V, {; j- b3 G* t$ @}% T% M5 |& ?9 S+ Z$ J3 _7 D
$ \5 ?% f. b0 }
下面是web_shell_cmd.gch中的类似ASP等脚本的动态代码,当浏览器请求web_shell_cmd.gch页面时,先运行这段代码,生成对应的html代码再传送给浏览器显示,浏览器提交命令后,在这个例子中,任然是提交给web_shell_cmd.gch页面处理,实际上也就是下面这段代码进行处理。7 |9 `# Q- _, U

; T+ R! Z' E1 U* T' M& f6 ]) e1 X" x+ |$ D4 R# e; [
下面来看看这段代码做了什么:
  Y) _+ t  |6 b
- H, ]9 J6 `  D2 x<%
0 t  {0 \" a- ~% b1 g" N; ?IMPORT FILE "common_gch.gch";* V3 F2 J3 U1 x" m9 {
var FP_ERRORSTR     = "SUCC";6 K' K; C' g1 }1 V/ F8 n2 Q
var FP_PARANUM      = 2;3 j9 i0 K) g3 w
var PARA[2] = { "Cmd", "CmdAck" };6 t; s+ K  ~( N! u$ Q: b3 X3 W/ q8 }

0 z1 Z( M, q5 X' J: [. Y# pcreate_form_start("fSubmit", "'/web_shell_cmd.gch'");; I! L/ @: ?" Y, _6 r6 C1 u4 s* y3 p
createBasicHidden();
. _/ q0 T) d( L7 ]! L- }* H' Zcreate_hidden_newpara(PARA, FP_PARANUM);
  E, L  N6 A$ ?# S3 L, Avar CmdAck="";" ^& M( T% `+ o  B8 v& J+ d
var Cmd = request("Cmd");
, f/ K4 y* v) X% j+ N9 Uvar FP_ACTION = request("IF_ACTION");! d; d* Q  a; ^/ y* |
if(FP_ACTION == "apply"){
0 R7 n9 x8 G% z1 P' ?6 gCmdAck = show_shellcmd(Cmd);5 n0 a2 N$ e) P
}
  J0 n; r* _7 l6 P' v  C2 \5 V# ~getDisplayInstError(FP_ERRORSTR);5 E2 @- k/ s+ I9 x# G4 i9 x9 o
undoDBSave();
0 C* Y/ R9 ^. `' e7 o0 F- `( E$ r+ K1 f$ C  g3 k, Q1 K4 w
create_form_end();
3 k) ?* R+ E  z+ N  ?%>* q7 i/ v0 ^! W9 b* V
: r/ z' d) O6 U& Z0 L2 ~/ Z
, S+ t8 L9 ^# ^8 b' u2 Z
create_form_start("fSubmit", "'/web_shell_cmd.gch'");
: e) `: q0 z+ `/ g$ N创建表单fSubmit,输入的内容将提交给页面“/web_shell_cmd.gch”0 T- j* D# Y3 Q1 g: @9 ^7 u
生成的HTML代码:
% L: X1 y- _/ c6 w3 V; u3 r- X$ R<FORM NAME=fSubmit ID=fSubmit METHOD='POST' action='/web_shell_cmd.gch'>- J  @! x" m$ M  b
+ \) ]# h3 U; h3 f/ H/ m0 I

  V) u5 S7 W0 m, }5 |createBasicHidden();1 y0 h3 d' M, ^. I9 W1 t0 f
创建如下隐藏的输入框对象并设置初始值:
6 A, ~; ~3 F* N) n1 MIF_ACTION, ""
4 A& F+ r+ N, J5 `IF_ERRORSTR, "SUCC": Q1 E% u5 R% P) m: @2 ?3 p4 |
IF_ERRORPARAM, "SUCC"
+ E' S% H! H8 K( S' cIF_ERRORTYPE, -1
: ~+ Y: }, |# }# d$ W9 L生成的HTML代码:0 N+ X0 t0 v8 Q" C
8 I" V% t$ s' B! w# m* k

- v/ Q" v1 \. c' \8 A+ M<INPUT type='hidden' name=IF_ACTION     ID=IF_ACTION value=''>
; B. k1 s# a" c- K/ G<script language=javascript>Transfer_meaning('IF_ACTION','');</script>
/ l1 w# }4 M0 L+ G6 T7 r7 @% }<INPUT type='hidden' name=IF_ERRORSTR     ID=IF_ERRORSTR value=''># S3 m% A& o( ]$ i5 _
<script language=javascript>Transfer_meaning('IF_ERRORSTR','SUCC');</script>" J. Q8 _7 l( F1 I, p$ p- }/ g
<INPUT type='hidden' name=IF_ERRORPARAM     ID=IF_ERRORPARAM value=''>
! L+ {& K% X4 s; X& A<script language=javascript>Transfer_meaning('IF_ERRORPARAM','SUCC');</script>1 c0 }% W8 o3 b8 @% Z6 H
<INPUT type='hidden' name=IF_ERRORTYPE     ID=IF_ERRORTYPE value=''>, b. M+ r" h% w1 X
<script language=javascript>Transfer_meaning('IF_ERRORTYPE','-1');</script>6 `; J5 m3 q" B8 H9 N+ k7 @

- W$ O/ _3 Y8 i; u6 x4 I5 F5 J7 t# r8 B% s

& \) ]6 ~0 w6 ~) ycreate_hidden_newpara(PARA, FP_PARANUM);
/ Z% r9 K9 x8 c$ @4 U生成 ID 分别为 "Cmd", "CmdAck"的隐藏输入框并设置初始值为空
7 G$ ^7 C3 Y$ O1 C2 H" l% z
. Q! y9 J% t  L3 m) J+ A生成的HTML代码:7 U$ g! O7 {' ~% |5 g" |
0 F' H3 h0 ^" o5 x2 E2 N
6 O' j4 a  L) d# V' z: s7 E: v
- x: _" i/ J; I: k/ g
) x* J$ S. P9 F
<INPUT type='hidden' name=Cmd   ID=Cmd value=''>
) A5 |$ A4 _2 R, c<script language=javascript>Transfer_meaning('Cmd','');</script>
0 o3 ?! i' j- \; H) W+ w( _$ M4 H<INPUT type='hidden' name=CmdAck   ID=CmdAck value=''>8 E1 k4 K) `8 t* ?2 S; [
<script language=javascript>Transfer_meaning('CmdAck','');</script>- k- P& Q" F( E8 A% S8 k
1 f6 v$ F* o0 Q7 F* ]
; b& ]) Y7 w: l2 l
7 f' s. H9 F) I, j% }; w' T

) Z0 K  n) n' P+ I8 M) [2 uvar Cmd = request("Cmd");. V% W4 R* @  I: C( f/ o; [* r
var FP_ACTION = request("IF_ACTION");
6 Q7 `& R6 s: ?. G) J7 S! N0 x4 C2 T这两行代码应该是重点,目前找不到request函数的定义,猜测应该是路由端执行设置命令的函数。4 S2 {6 ~. P% x8 N

3 C" D! x7 h! L+ zCmdAck = show_shellcmd(Cmd);
% ?8 Q6 R* w7 `# s
; H# c# q* R! K9 W7 m: t- i) @2 M找不到show_shellcmd函数的定义,猜测是将执行完成的命令显示在网页的文本框中。' I* M1 U, D' m' |5 f) I- y  h
+ m3 U/ e+ A& q! h9 {, W

9 a" Y9 A  e5 r7 ~  ~) x* C% _; ]getDisplayInstError(FP_ERRORSTR);
/ ]# V. r2 V  b( e' B
: s* ~8 B" o! p8 b2 u* m( ^- k
+ g9 ?0 H* ^. r. a找不到此函数中的某些函数定义,猜测是处理执行命令出错信息显示在网页的文本框中。
4 u7 e6 V7 }; f
- N4 K" c3 f! v5 W# X$ _' h( t0 iundoDBSave();
; ~; N6 q: K/ |+ C& F" ?' G找不到此函数定义。: _" W8 x2 T/ x

: e8 _; [) L  d3 F  Dcreate_form_end();0 S2 B1 D# [% s# n; i2 \+ P! T
创建表单结尾
7 T0 n8 e7 ~+ e8 i生成的HTML代码:; a. D& Y9 ?- @# b
</FORM>6 d5 l! J! r* l
+ x7 ~$ @# C! n! G6 |
以上是web shell页面代码的分析结果,现在由于web_shell_cmd.gch被移除,故无法提交命令给该页面,但是如果其他设置页面也有<% ... %>部分脚本代码的话,应该可以通过这些页面强行提交命令给路由。望已经开启了FTP/telnet服务的朋友能提供一份F420所有网页文件的列表,或者网页文件的打包更好。
. T+ ^- W8 W! B! d9 j% d( C9 p  u: H6 L, n8 {7 Y: d* Z! h0 \$ d# T

7 b3 X0 K$ k/ _5 [4 r4 Z+ ]7 n% c4 L, V3 r

. C$ ?8 K  }# g
发表于 2013-12-20 16:04:12 | 显示全部楼层
楼主看来很专业噶。
: b# _4 T0 E. \( U( r能不能先用config.bin获取密码后,登录路由器看?
 楼主| 发表于 2013-12-23 10:32:18 | 显示全部楼层
管理密码已获取,但只能通过web操作路由,telnet/ftp等都被封
' _, g& E5 i! v3 m- N/ N& _! a8 r已找到一份F420文件 http://www.chinadsl.net/forum.php?mod=viewthread&tid=86776
/ ]) Y+ T, C$ M, q/ s! u1 o但里面没有web_shell_cmd.gch, 正在研究~
发表于 2015-1-31 19:14:59 | 显示全部楼层
好专业的撸主。 膜拜
发表于 2015-7-13 13:09:14 | 显示全部楼层
我就是来看看到底能不能用的。
您需要登录后才可以回帖 登录 | 注 册

本版积分规则

QQ|Archiver|手机版|小黑屋|宽带技术网 ( 粤ICP备15054574号  

粤公网安备 44152102000001号

GMT+8, 2017-4-29 01:59 , Processed in 0.460939 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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