设为首页收藏本站

宽带技术网

 找回密码
 注 册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3092|回复: 4

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

[复制链接]
F420, V3.2x 固件,telnet, ftp等权限全部被关,web_shell_cmd.gch被移除,不拆机开telnet服务,以下是一些研究及设想:
) A! G$ z6 S. h( x6 P) X+ ?3 y# t# E9 [5 t* v! F" C! g$ {
. }( c0 ~* R1 N4 s. d3 q: g- Z

0 c' P# A1 V$ o! _: i# L& g# P& `/ |$ K8 W7 D/ w! F5 S2 B- X
研究了网上能找到的web_shell_cmd.gch 文件,发现发送命令应该是这个函数完成:6 n$ m. e2 E. l% X- @

: `* K4 C/ Q+ S' R7 ]5 p$ J* i: n, B; @
function pageSubmit()
  b+ \/ e* F) B' d  l: [' o{
( x& s- k* C; J. P1 mjslDisable("Btn_Submit"); //将提交按钮状态设置为无效
7 _& t/ B. o% W7 T) \. H5 z" E% T% `  a: }pageSetValue(); //将“Frm_Cmd”输入框中输入的命令传给对象“Cmd”,这是一个隐藏的输入框,
- N8 C; ]0 x; H' _  ksetValue("IF_ACTION","apply"); //将值“apply”传递给“IF_ACTION”对象,这也是一个隐藏的输入框
+ T3 S# \8 |, ZgetObj("running").style.display = ""; //设置运行状态等,无关紧要
: h" f3 \" A; BgetObj("running_title").innerHTML = "it is running, please wait..."; //设置运行状态等,无关紧要3 X: Z$ [6 g# I" a4 Q! q- Q. f
getObj("fSubmit").submit(); //提交表单fSubmit到服务器,这是个隐藏的表单
/ G# P6 r' A; `}2 m! D! `: w  S; e( s
6 ~& f6 V: i6 E- k+ X  S
下面是web_shell_cmd.gch中的类似ASP等脚本的动态代码,当浏览器请求web_shell_cmd.gch页面时,先运行这段代码,生成对应的html代码再传送给浏览器显示,浏览器提交命令后,在这个例子中,任然是提交给web_shell_cmd.gch页面处理,实际上也就是下面这段代码进行处理。3 I" e) u9 g4 ~0 Y' M5 R- _
6 p! D8 r9 C9 C! L3 o

; I. b$ Q! D! ^- J, R下面来看看这段代码做了什么:
3 m) E1 O, Z' R  c' V
( O$ `) V' {- o# m% r) f" ~<%
3 U% r3 j  h+ M' [' P; TIMPORT FILE "common_gch.gch";
# j; A2 \! M; B6 `( ?0 p/ |var FP_ERRORSTR     = "SUCC";
5 J; j3 }: |3 mvar FP_PARANUM      = 2;" q; v0 f- J9 ]% i! m
var PARA[2] = { "Cmd", "CmdAck" };
5 R# M/ w+ I8 @3 [- x: `+ J5 q5 ]7 r" h' F
create_form_start("fSubmit", "'/web_shell_cmd.gch'");
" X+ w5 R/ }1 m0 v/ l! d* s0 s! xcreateBasicHidden();+ `% C$ W- v) ^' u
create_hidden_newpara(PARA, FP_PARANUM);
5 i+ w( [' d) W! v3 R2 U% h- L0 Ivar CmdAck="";- S& k' U# `* F; b% a' O9 b
var Cmd = request("Cmd");
- B* }, a5 j/ {0 e# r0 X# ]8 @var FP_ACTION = request("IF_ACTION");
7 S' f, T6 N) w/ [6 nif(FP_ACTION == "apply"){" g/ O/ ^! c9 ^6 [, p  W
CmdAck = show_shellcmd(Cmd);* ?, O# q; z: }
}- y2 `9 s6 ?9 K8 W' |* z( U
getDisplayInstError(FP_ERRORSTR);
4 u7 X% ~5 d3 B9 ]& _undoDBSave();* K' X; P# c8 r

+ R$ b+ D. M% G7 D9 Fcreate_form_end();
& U; s# _- j, ?" j%>
% A" Q* Y  C( m, W. f; u1 i8 d2 @4 f1 |5 D1 d, w$ \3 X
$ d/ I! K5 p" x: o
create_form_start("fSubmit", "'/web_shell_cmd.gch'");4 e7 C- Y. C3 A* m# w& a8 Z* c
创建表单fSubmit,输入的内容将提交给页面“/web_shell_cmd.gch”- M9 V  ]  ?6 ]4 {8 q" n) l/ ]8 ^
生成的HTML代码:
/ w/ h* l$ d9 c0 b$ r- m<FORM NAME=fSubmit ID=fSubmit METHOD='POST' action='/web_shell_cmd.gch'>. l3 ?( }7 [; ~& Y/ A
1 o8 i3 n" Q8 A3 \

! [5 {. A; N3 T# hcreateBasicHidden();
( d+ C; Z1 c2 A  ]' d+ K: Q# D创建如下隐藏的输入框对象并设置初始值:
1 c6 X% {5 ]3 v8 Z0 m4 p& [$ FIF_ACTION, ""
8 B+ b/ m& q* ?; Q8 |IF_ERRORSTR, "SUCC"
8 F6 B% }9 f( X$ I1 I; \: T- H% uIF_ERRORPARAM, "SUCC"
- v9 }) T4 h5 o" F: p( hIF_ERRORTYPE, -1% k' P" Z! r6 @- A7 A/ Y) z
生成的HTML代码:% d8 v+ a+ \8 }! c

7 u6 B+ T' C; d5 k+ U: K3 @9 T, T4 O4 i8 \& P
<INPUT type='hidden' name=IF_ACTION     ID=IF_ACTION value=''>
$ `8 m/ _$ e6 R; _+ T<script language=javascript>Transfer_meaning('IF_ACTION','');</script>
1 b6 _! S- u8 d1 D- U4 e8 T$ X<INPUT type='hidden' name=IF_ERRORSTR     ID=IF_ERRORSTR value=''>
! k3 X' H+ \" S0 }<script language=javascript>Transfer_meaning('IF_ERRORSTR','SUCC');</script>) }1 R; H4 C- b0 `+ H% ^
<INPUT type='hidden' name=IF_ERRORPARAM     ID=IF_ERRORPARAM value=''>2 ~& f, x3 m) Z7 @4 x- Y
<script language=javascript>Transfer_meaning('IF_ERRORPARAM','SUCC');</script>
+ c1 i+ w7 L; d3 D! d7 q<INPUT type='hidden' name=IF_ERRORTYPE     ID=IF_ERRORTYPE value=''>
# q$ {' e3 ?/ a; U5 C9 p. g. @<script language=javascript>Transfer_meaning('IF_ERRORTYPE','-1');</script>
8 K. K' S) b$ v' h' s- r# V
+ @! M. T- V; y9 n; r1 m7 q
, Y: }0 B& ~4 s( g, \; m9 O; ?' G8 G6 b& B, {3 s
create_hidden_newpara(PARA, FP_PARANUM);3 c$ S  Q; ~& |8 P# S$ k9 z. a
生成 ID 分别为 "Cmd", "CmdAck"的隐藏输入框并设置初始值为空
! p: {2 n/ y5 k8 _% o' f- |6 B
) |5 g: m6 }% ]) _& H生成的HTML代码:8 z# L6 u1 h' N* L  k
6 Z; r- k; q* _
" _2 ~8 o8 b. [5 A7 z2 x! I8 S

, Q' @# D8 g+ X) n6 ~# {0 M& _. a
  `4 \" ^. V7 p; I<INPUT type='hidden' name=Cmd   ID=Cmd value=''>
$ Y" L: a+ N/ Y) }4 r* d<script language=javascript>Transfer_meaning('Cmd','');</script>( ~' c; I6 U7 r( z# J: t' u! Z
<INPUT type='hidden' name=CmdAck   ID=CmdAck value=''>
1 i: o- V4 k& e& u, E" _3 o<script language=javascript>Transfer_meaning('CmdAck','');</script>( T3 d8 [! s, A% b4 O1 K

. d% e, t! g- c- n0 p. t. ?  W. U
9 `! o0 O6 A( L5 w4 n; o

. f5 e& z* j4 [var Cmd = request("Cmd");2 z2 j' E5 `9 ]
var FP_ACTION = request("IF_ACTION");1 j& Y6 q4 M  w1 u/ z
这两行代码应该是重点,目前找不到request函数的定义,猜测应该是路由端执行设置命令的函数。
, O5 G% r( R6 E, G6 ]+ v- E/ A$ R" F0 Y5 V
CmdAck = show_shellcmd(Cmd);6 n7 B  J5 D  ?4 ~0 H; B
# L; i' t0 W8 ?/ S5 Y8 S8 C$ ?& P8 I7 B
找不到show_shellcmd函数的定义,猜测是将执行完成的命令显示在网页的文本框中。/ w. F) a- U0 {' \: {/ `

! s5 q, J! i' s8 l* m% v
) ~% q5 z" i* [0 h  @% X. vgetDisplayInstError(FP_ERRORSTR);9 S4 `$ K* }/ A% W& o' I7 J
% K" C, |1 z- b
4 b1 _. Z8 ~$ N) R
找不到此函数中的某些函数定义,猜测是处理执行命令出错信息显示在网页的文本框中。4 r  h) u& E1 v8 _% m& [
, H) s9 b: s# l
undoDBSave();
8 H# h1 S8 R! B7 V找不到此函数定义。
: E: _6 z$ \# h' R- S0 ?2 \7 o$ q; q' C; x3 J
create_form_end();
1 @: E( K( X/ z  `+ b: ^9 K创建表单结尾
. R2 c' X) I$ h/ Z9 t: {生成的HTML代码:: y3 f; l: {$ L4 Y4 U/ M6 ^
</FORM>1 f1 f; j  J) w& B! @8 x; F
( N8 g) ~: D" B8 ]5 B2 W
以上是web shell页面代码的分析结果,现在由于web_shell_cmd.gch被移除,故无法提交命令给该页面,但是如果其他设置页面也有<% ... %>部分脚本代码的话,应该可以通过这些页面强行提交命令给路由。望已经开启了FTP/telnet服务的朋友能提供一份F420所有网页文件的列表,或者网页文件的打包更好。. J% L2 m- R; C3 O& }
6 n! W; Z6 h/ r+ @" U

( I) o: i$ y$ C( U& a0 w7 A: C
# s" h# `1 o7 R" H% }# ^& F3 `5 ]3 q& i7 n
发表于 2013-12-20 16:04:12 | 显示全部楼层
楼主看来很专业噶。+ e+ j, b7 ?" ^, V3 o% r
能不能先用config.bin获取密码后,登录路由器看?
 楼主| 发表于 2013-12-23 10:32:18 | 显示全部楼层
管理密码已获取,但只能通过web操作路由,telnet/ftp等都被封
( R  \3 W8 V( j* w6 U  b$ P已找到一份F420文件 http://www.chinadsl.net/forum.php?mod=viewthread&tid=86776
) p' E& k) H0 Z" l- y但里面没有web_shell_cmd.gch, 正在研究~
发表于 2015-1-31 19:14:59 | 显示全部楼层
好专业的撸主。 膜拜
发表于 2015-7-13 13:09:14 | 显示全部楼层
我就是来看看到底能不能用的。
您需要登录后才可以回帖 登录 | 注 册

本版积分规则

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

粤公网安备 44152102000001号

GMT+8, 2017-3-24 20:20 , Processed in 0.470295 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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