SlideShare a Scribd company logo
HTTP Protocol Basic
23 May 2012

1. Pengertian Dasar
Ketika kita membuka sebuah halaman website, sebenarnya ada proses apa saja
dibalik terbukanya halaman website tersebut? Pertanyaan itulah yang akan mengarahkan
kita kepada salah satu pengetahuan tentang information gathering yang biasanya digunakan
oleh para penyusup untuk memasuki sistem suatu website. Seperti yang sudah kami
jelaskan pada tulisan sebelumnya bahwa information gathering adalah suatu proses penting

om

yang tidak akan dilewatkan oleh para penyusup untuk dilakukan sehingga mereka bisa

ai

l.c

mendapatkan lebih banyak informasi tentang sistem yang menjadi target. Sistem target yang

gm

akan dibahas dalam tulisan ini adalah sebuah website.

al
@

Sebelum kami membahas lebih jauh tentang informasi apa yang dicari oleh para

riz

penyusup terhadap suatu website melalui HTTP Protocol Basic, ada baiknya anda

k.

mengetahui beberapa istilah dibawah ini.

ar

HTTP adalah sebuah protokol dimana adanya pertukaran pesan antara client dan

&

m

server. Pesan ini terdiri dari dua bagian utama yaitu “Header” dan “Message Body“. Yang

l.c
om

disebut dengan Header adalah seperti tampak pada Gambar 1, sedangkan yang disebut
dengan Message Body adalah sorce code yang membentuk halaman website yang sedang

gm

ai

dibuka.

HTTP Protocol dibagi menjadi dua yaitu :

in
d

ri.

ca
n

tik

@

a. HTTP Request

Gambar 1. HTTP Request Header dari www.google.com

Ini adalah apa yang terjadi ketika kita membuka browser dan mengetikkan url
www.google.com, maka request HTTP ke www.google.com dimulai, apa yang anda lihat
pada gambar di atas adalah Header atau yang di sebut HTTP Request Headers. Koneksi ke
www.google.com pada port 80 dimulai sebelum mengirimkan perintah HTTP ke web server .
Ketika kita melakukan permintaan untuk membuka website www.google.com ada
beberapa bagian yg diperlukan, yaitu :
a.1. Request Method
Ini adalah jenis permintaan yang juga dikenal sebagai HTTP Verb. Tipe Request Method
adalah :
GET : verb ini digunakan untuk meminta resource yang spesifik, misalnya : ada sebuah
website yang meminta anda untuk memasukkan nama anda dan kemudian klik submit,
maka pernyataan GET akan terlihat seperti ini :
GET /page.php?name=indri HTTP/1.1
POST : verb ini digunakan untuk mengirimkan data ke bentuk html dan argumen berada di body
request.
PUT : dapat digunakan untuk mengupload file ke server

ai

l.c

OPTIONS : digunakan untuk query web server tentang verb yang digunakan.

om

DELETE : digunakan untuk menghapus resource / file tertentu dari web server

gm

a.2. Host Header

al
@

HTTP Headers memiliki struktur sebagai berikut :

ar

k.

riz

Header-name: Header-value

m

Host header mengijinkan web server untuk host beberapa website pada alamat IP sama. ini

&

berarti anda harus menentukan website yang anda inginkan di host header.

ai

l.c
om

contoh : http://www.google.com

gm

a.3. Protocol

@

Ini adalah versi HTTP protokol dari browser dalam berkomunikasi dengan web server

ca
n

tik

(HTTP/1.1).

ri.

a.4. Path

in
d

Ini adalah alamat file yang anda minta, contoh : /downloads/index.php
a.5. Host Value
Contoh jika anda ingin menuju ke host : www.google.com host value + path akan menjadi
rangkaian URL yang anda minta.
a.6. Accept Header
Ini digunakan oleh browser untuk menentukan jenis dokumen yang diharapkan sebagai hasil
dari permintaan anda.
a.7. Host user agent
User agent menampilkan versi browser, sistem operasi dan bahasa untuk remote web
server. semua web browser memiliki user agent untuk identifikasi mereka sendiri. ini adalah
bagaimana website mengenali jenis browser yang digunakan.
contoh :
user-agent : Mozilla/5.0 (windows; U; Windows NT 6.1; it; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2
GTBDFffGTB7.0

a.8. Header Connection
Perbedaan antara HTTP/1.1 dengan HTTP/1.0, yaitu penggunaan hubungan persistent /

om

kuat.

HTTP/1.0 membuka satu koneksi untuk tiap permintaan URI, header = Connection: close.



HTTP/1.1 dapat menggunakan sebuah koneksi TCP untuk beberapa permintaan URI (persistent),

gm

ai

l.c



al
@

header = Connection: Keep-Alive

riz

b. HTTP Response

ar

k.

Menanggapi Permintaan HTTP, web server akan merespon dengan sumber daya yang

m

diminta sebelumnya oleh sejumlah Headers. Header ini akan digunakan oleh browser web

Gambar 2. HTTP Response pada www.google.com

in
d

ri.

ca
n

tik

@

gm

ai

l.c
om

&

untuk menafsirkan isi yang ada dalam Respon content.

b.1. Cache headers
Header Cache memungkinkan Browser dan Server untuk bertukar informasi tentang cache
content. Cache contents menghemat bandwidth karena mencegah browser untuk meminta
content yang tidak dimodifikasi ketika sumber daya yang sama akan digunakan.

b.2. Server header
Header Server berisi banner dari Web Server. Apache dan IIS adalah web server umum.
Google menggunakan sebuah banner web server custom yang disebut sebagai “GWS”
(Google Web Server).
b.3. Via header
Via Header hadir ketika sambungan telah melalui proxy. Proxy adalah web server khusus
untuk pengiriman cache content agar lebih cepat

b.4. Content
Ini adalah content dari resource yang diminta. Konten dapat menjadi halaman web html,
dokumen atau file binary. Jenis konten terkandung dalam header Content-type

2. Arti penting Information Gathering di HTTP Protrocol
Untuk membuka suatu website dibutuhkan Request Method, jika kita bisa

om

mengetahui Request Method apa saja yang digunakan untuk membuka halaman suatu

l.c

website, maka besar sekali kemungkinan penyusup dapat memanfaatkannya. Contohnya,

gm

ai

jika penyusup mengetahui bahwa request method yang di ijinkan adalah “OPTIONS”, maka

al
@

penyusup bisa mengetahui seluruh Request Method yang di ijinkan di halaman tersebut

in
d

ri.

ca
n

tik

@

gm

ai

l.c
om

&

m

ar

k.

riz

selain “OPTIONS”, seperti tampak pada Gambar 3.

Gambar 3. Request Method yang di ijinkan di halaman website

Lalu bagaimana cara penyusup bisa mengetahui Request Method yang di ijinkan ?
Sebut saja sebuah tool yang bernama Burp Suite, dengan Burp Suite penyusup hanya perlu
memasukkan alamat URL dari suatu halaman website, maka penyusup tersebut dapat
mengetahui Request Method yang di ijinkan di halaman web tersebut.
Pada Gambar 3, terlihat Request Method yang di ijinkan di antaranya ada “TRACE”, dengan
menggunakan Request Method “TRACE”, penyusup dapat meng- capture cookies dari client
yang aktif (dampaknya sama dengan serangan XSS).
Server Header juga merupakan informasi penting yang dibutuhkan oleh penyusup.
Jika beruntung mendapatkan banner dari web server lengkap dengan versinya maka
penyusup dapat memanfaatkan informasi tersebut untuk mencari kelemahan, salah satu nya
jika versi dari banner tersebut masih menggunakan versi lama atau belum di patch maka
berpeluang untuk di serang dengan menggunakan metode DoS.

3. Solusi Pencegahan
Dari penjelasan di atas, kita bisa mengetahui bagaimana cara seorang penyusup
bisa melakukan serangan pada system website kita. Sebenarnya, penyusup dapat
melakukan serangan apabila penyusup telah memiliki informasi yang lengkap. Jika seorang

om

pengaman data telah mengetahui hal itu, maka solusi yang bisa dilakukan adalah menutup

l.c

segala kemungkinan agar penyusup tidak mendapatkan informasi yang dibutuhkan.

gm

ai

Untuk kasus HTTP Protocol ini, informasi yang sangat dibutuhkan oleh penyusup adalah

al
@

mengetahui Request Method yang di ijinkan, terutama “OPTIONS” dan banner dari web
server.

k.

riz

Pertanyaan selanjutnya, bagaimana cara menutup Request Method “OPTIONS” dan banner

ar

dari web server tersebut?

m

Untuk menutup Request Method “OPTIONS” adalah :

l.c
om

&

Misalnya halaman web yang digunakan untuk menyimpan file images, Request Method
“OPTIONS” terbuka. Anggap saja tempat untuk menyimpan file images itu ada di directory

ai

“C:/xampp/htdocs/dvwa/dvwa/images/”, maka langkah-langkah nya adalah seperti dibawah

gm

ini.

in
d

ri.

ca
n

tik

@

Berikut ini setting di httpd.conf yang merupakan vulnerability misconfiguration.
Untuk solusi nya, bisa dilakukan sedikit perubahan terhadap setting nya di file tersebut.

Untuk menutup informasi banner dari web server bisa dilakukan dengan merubah

om

konfigurasi “ServerSignature On” menjadi “ServerSignature Off” pada file httpd.conf.

l.c

4. Informasi untuk pembaca

gm

ai

Tulisan ini dibuat untuk membantu tugas dari para pengaman data, bukan untuk membantu

al
@

tugas dari para penyusup

k.

riz

Mohon maaf, apabila teknik-teknik detil untuk penyusup tidak dibahas pada tulisan ini.

ar

Penulis:

m

- Indri (indri.cantik@gmail.com)

in
d

ri.

ca
n

tik

@

gm

ai

l.c
om

&

- Mark (mark.rizal@gmail.com)

More Related Content

PPTX
IStilah-istilah dalam Web
PPT
World wide web
PDF
DOCX
Manejemen bandwith
PPTX
Persentasi Website dan Search Engine
PPTX
1234 ppt
PDF
Tugas akhir kejuruan tkj1
IStilah-istilah dalam Web
World wide web
Manejemen bandwith
Persentasi Website dan Search Engine
1234 ppt
Tugas akhir kejuruan tkj1

What's hot (19)

PDF
HTTP Protokol
PPT
Ppt mengakses informasi melalui homepage
PPT
Materi Tugas TI 3&4 " Browser dan Search Engine"
PPTX
Fasilitas fasilitas di internet
PPTX
Presentation1
PPT
Tugas 2 0317
PDF
Situs web
PPTX
Tugas rekweb 2 individu
PPTX
Tugas atpi arif rohman khakim dan samuel setiado
PPT
1989249
PDF
Web hacking-dvwa-publish-130131073605-phpapp01
PDF
Yadi Internet
PPT
Materi kuliah browser
PDF
Ta agung pratama XII-TKJ1 smk negeri 4 bandung
PDF
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
PPTX
Tugas 2 ihsan riadi - 1412511162
PDF
Situs web
PPTX
Tugas atpi protokol http, sindikasi konten, dan layanan
PPT
Presentation web-browser
HTTP Protokol
Ppt mengakses informasi melalui homepage
Materi Tugas TI 3&4 " Browser dan Search Engine"
Fasilitas fasilitas di internet
Presentation1
Tugas 2 0317
Situs web
Tugas rekweb 2 individu
Tugas atpi arif rohman khakim dan samuel setiado
1989249
Web hacking-dvwa-publish-130131073605-phpapp01
Yadi Internet
Materi kuliah browser
Ta agung pratama XII-TKJ1 smk negeri 4 bandung
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
Tugas 2 ihsan riadi - 1412511162
Situs web
Tugas atpi protokol http, sindikasi konten, dan layanan
Presentation web-browser
Ad

Similar to HTTP Protocol Basic (20)

PPTX
Tugas 2 0317-dewi apriliani-1412510602
PPTX
Tugas 2 0317-imelda felicia-1412510545
PPTX
Tugas 2 0317-fahreza yozi-1612510832
PPTX
Tugas 2 0317-nurul azmi-1412510587
PDF
Jeni web programming-bab 1-pengenalan pemrograman web
PPT
Pertemuan 09 client server
PPTX
Asp security dan master page asp.net
DOCX
Makalah web server debian 6 - refzqi
PDF
Jeni Web Programming Bab 1 Pengenalan Pemrograman Web
PPTX
Tugas 2 - 0317-mukhlis abdilah-1411511213
PPTX
Tugas2 krisna muktiandika-1511510347
PPT
Tugas 2 – 0317 (individu) andrian lesmana
PPTX
Penjelasan Materi Web Server
DOCX
Laporan web
DOC
Laporan tugas besar
PDF
Apa Itu Web Server Cara Kerja dan Fungsi dari Server Itu Sendiri.pdf
PDF
Panduan refresh-pattern-libre
PPTX
P1-TeknologiAplikasiWEb..................
PDF
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
Tugas 2 0317-dewi apriliani-1412510602
Tugas 2 0317-imelda felicia-1412510545
Tugas 2 0317-fahreza yozi-1612510832
Tugas 2 0317-nurul azmi-1412510587
Jeni web programming-bab 1-pengenalan pemrograman web
Pertemuan 09 client server
Asp security dan master page asp.net
Makalah web server debian 6 - refzqi
Jeni Web Programming Bab 1 Pengenalan Pemrograman Web
Tugas 2 - 0317-mukhlis abdilah-1411511213
Tugas2 krisna muktiandika-1511510347
Tugas 2 – 0317 (individu) andrian lesmana
Penjelasan Materi Web Server
Laporan web
Laporan tugas besar
Apa Itu Web Server Cara Kerja dan Fungsi dari Server Itu Sendiri.pdf
Panduan refresh-pattern-libre
P1-TeknologiAplikasiWEb..................
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
Ad

HTTP Protocol Basic

  • 1. HTTP Protocol Basic 23 May 2012 1. Pengertian Dasar Ketika kita membuka sebuah halaman website, sebenarnya ada proses apa saja dibalik terbukanya halaman website tersebut? Pertanyaan itulah yang akan mengarahkan kita kepada salah satu pengetahuan tentang information gathering yang biasanya digunakan oleh para penyusup untuk memasuki sistem suatu website. Seperti yang sudah kami jelaskan pada tulisan sebelumnya bahwa information gathering adalah suatu proses penting om yang tidak akan dilewatkan oleh para penyusup untuk dilakukan sehingga mereka bisa ai l.c mendapatkan lebih banyak informasi tentang sistem yang menjadi target. Sistem target yang gm akan dibahas dalam tulisan ini adalah sebuah website. al @ Sebelum kami membahas lebih jauh tentang informasi apa yang dicari oleh para riz penyusup terhadap suatu website melalui HTTP Protocol Basic, ada baiknya anda k. mengetahui beberapa istilah dibawah ini. ar HTTP adalah sebuah protokol dimana adanya pertukaran pesan antara client dan & m server. Pesan ini terdiri dari dua bagian utama yaitu “Header” dan “Message Body“. Yang l.c om disebut dengan Header adalah seperti tampak pada Gambar 1, sedangkan yang disebut dengan Message Body adalah sorce code yang membentuk halaman website yang sedang gm ai dibuka. HTTP Protocol dibagi menjadi dua yaitu : in d ri. ca n tik @ a. HTTP Request Gambar 1. HTTP Request Header dari www.google.com Ini adalah apa yang terjadi ketika kita membuka browser dan mengetikkan url www.google.com, maka request HTTP ke www.google.com dimulai, apa yang anda lihat pada gambar di atas adalah Header atau yang di sebut HTTP Request Headers. Koneksi ke www.google.com pada port 80 dimulai sebelum mengirimkan perintah HTTP ke web server . Ketika kita melakukan permintaan untuk membuka website www.google.com ada beberapa bagian yg diperlukan, yaitu :
  • 2. a.1. Request Method Ini adalah jenis permintaan yang juga dikenal sebagai HTTP Verb. Tipe Request Method adalah : GET : verb ini digunakan untuk meminta resource yang spesifik, misalnya : ada sebuah website yang meminta anda untuk memasukkan nama anda dan kemudian klik submit, maka pernyataan GET akan terlihat seperti ini : GET /page.php?name=indri HTTP/1.1 POST : verb ini digunakan untuk mengirimkan data ke bentuk html dan argumen berada di body request. PUT : dapat digunakan untuk mengupload file ke server ai l.c OPTIONS : digunakan untuk query web server tentang verb yang digunakan. om DELETE : digunakan untuk menghapus resource / file tertentu dari web server gm a.2. Host Header al @ HTTP Headers memiliki struktur sebagai berikut : ar k. riz Header-name: Header-value m Host header mengijinkan web server untuk host beberapa website pada alamat IP sama. ini & berarti anda harus menentukan website yang anda inginkan di host header. ai l.c om contoh : http://www.google.com gm a.3. Protocol @ Ini adalah versi HTTP protokol dari browser dalam berkomunikasi dengan web server ca n tik (HTTP/1.1). ri. a.4. Path in d Ini adalah alamat file yang anda minta, contoh : /downloads/index.php a.5. Host Value Contoh jika anda ingin menuju ke host : www.google.com host value + path akan menjadi rangkaian URL yang anda minta. a.6. Accept Header Ini digunakan oleh browser untuk menentukan jenis dokumen yang diharapkan sebagai hasil dari permintaan anda.
  • 3. a.7. Host user agent User agent menampilkan versi browser, sistem operasi dan bahasa untuk remote web server. semua web browser memiliki user agent untuk identifikasi mereka sendiri. ini adalah bagaimana website mengenali jenis browser yang digunakan. contoh : user-agent : Mozilla/5.0 (windows; U; Windows NT 6.1; it; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 GTBDFffGTB7.0 a.8. Header Connection Perbedaan antara HTTP/1.1 dengan HTTP/1.0, yaitu penggunaan hubungan persistent / om kuat. HTTP/1.0 membuka satu koneksi untuk tiap permintaan URI, header = Connection: close.  HTTP/1.1 dapat menggunakan sebuah koneksi TCP untuk beberapa permintaan URI (persistent), gm ai l.c  al @ header = Connection: Keep-Alive riz b. HTTP Response ar k. Menanggapi Permintaan HTTP, web server akan merespon dengan sumber daya yang m diminta sebelumnya oleh sejumlah Headers. Header ini akan digunakan oleh browser web Gambar 2. HTTP Response pada www.google.com in d ri. ca n tik @ gm ai l.c om & untuk menafsirkan isi yang ada dalam Respon content. b.1. Cache headers Header Cache memungkinkan Browser dan Server untuk bertukar informasi tentang cache content. Cache contents menghemat bandwidth karena mencegah browser untuk meminta content yang tidak dimodifikasi ketika sumber daya yang sama akan digunakan. b.2. Server header Header Server berisi banner dari Web Server. Apache dan IIS adalah web server umum. Google menggunakan sebuah banner web server custom yang disebut sebagai “GWS” (Google Web Server).
  • 4. b.3. Via header Via Header hadir ketika sambungan telah melalui proxy. Proxy adalah web server khusus untuk pengiriman cache content agar lebih cepat b.4. Content Ini adalah content dari resource yang diminta. Konten dapat menjadi halaman web html, dokumen atau file binary. Jenis konten terkandung dalam header Content-type 2. Arti penting Information Gathering di HTTP Protrocol Untuk membuka suatu website dibutuhkan Request Method, jika kita bisa om mengetahui Request Method apa saja yang digunakan untuk membuka halaman suatu l.c website, maka besar sekali kemungkinan penyusup dapat memanfaatkannya. Contohnya, gm ai jika penyusup mengetahui bahwa request method yang di ijinkan adalah “OPTIONS”, maka al @ penyusup bisa mengetahui seluruh Request Method yang di ijinkan di halaman tersebut in d ri. ca n tik @ gm ai l.c om & m ar k. riz selain “OPTIONS”, seperti tampak pada Gambar 3. Gambar 3. Request Method yang di ijinkan di halaman website Lalu bagaimana cara penyusup bisa mengetahui Request Method yang di ijinkan ? Sebut saja sebuah tool yang bernama Burp Suite, dengan Burp Suite penyusup hanya perlu memasukkan alamat URL dari suatu halaman website, maka penyusup tersebut dapat mengetahui Request Method yang di ijinkan di halaman web tersebut. Pada Gambar 3, terlihat Request Method yang di ijinkan di antaranya ada “TRACE”, dengan menggunakan Request Method “TRACE”, penyusup dapat meng- capture cookies dari client yang aktif (dampaknya sama dengan serangan XSS).
  • 5. Server Header juga merupakan informasi penting yang dibutuhkan oleh penyusup. Jika beruntung mendapatkan banner dari web server lengkap dengan versinya maka penyusup dapat memanfaatkan informasi tersebut untuk mencari kelemahan, salah satu nya jika versi dari banner tersebut masih menggunakan versi lama atau belum di patch maka berpeluang untuk di serang dengan menggunakan metode DoS. 3. Solusi Pencegahan Dari penjelasan di atas, kita bisa mengetahui bagaimana cara seorang penyusup bisa melakukan serangan pada system website kita. Sebenarnya, penyusup dapat melakukan serangan apabila penyusup telah memiliki informasi yang lengkap. Jika seorang om pengaman data telah mengetahui hal itu, maka solusi yang bisa dilakukan adalah menutup l.c segala kemungkinan agar penyusup tidak mendapatkan informasi yang dibutuhkan. gm ai Untuk kasus HTTP Protocol ini, informasi yang sangat dibutuhkan oleh penyusup adalah al @ mengetahui Request Method yang di ijinkan, terutama “OPTIONS” dan banner dari web server. k. riz Pertanyaan selanjutnya, bagaimana cara menutup Request Method “OPTIONS” dan banner ar dari web server tersebut? m Untuk menutup Request Method “OPTIONS” adalah : l.c om & Misalnya halaman web yang digunakan untuk menyimpan file images, Request Method “OPTIONS” terbuka. Anggap saja tempat untuk menyimpan file images itu ada di directory ai “C:/xampp/htdocs/dvwa/dvwa/images/”, maka langkah-langkah nya adalah seperti dibawah gm ini. in d ri. ca n tik @ Berikut ini setting di httpd.conf yang merupakan vulnerability misconfiguration.
  • 6. Untuk solusi nya, bisa dilakukan sedikit perubahan terhadap setting nya di file tersebut. Untuk menutup informasi banner dari web server bisa dilakukan dengan merubah om konfigurasi “ServerSignature On” menjadi “ServerSignature Off” pada file httpd.conf. l.c 4. Informasi untuk pembaca gm ai Tulisan ini dibuat untuk membantu tugas dari para pengaman data, bukan untuk membantu al @ tugas dari para penyusup k. riz Mohon maaf, apabila teknik-teknik detil untuk penyusup tidak dibahas pada tulisan ini. ar Penulis: m - Indri (indri.cantik@gmail.com) in d ri. ca n tik @ gm ai l.c om & - Mark (mark.rizal@gmail.com)