Friday, June 16, 2017

TAHAPAN BELAJAR CARA MEMBUAT PAYLOAD

 Sekedar buat kita mempelajari tentang cara atau tahapan membuat payload.

– HEAD
– POST

– DELETE

– TRACE

– CONNECT

– dll

Rata- rata menggunakan GET atau HEAD

Line, ada 4 jenis line yang bisa digunakan yaitu:

[cr] = Carriage Return, U+000D

[lf] = Line Feed, U+000A

[crlf] = CR (U+000D) di ikuti oleh LF (U+000A)

[lfcr] = LF (U+000A) di ikuti oleh CR (U+000D)

[crlf][crlf] = Untuk menunjukkan akhir dari HTTP header

Rata – rata menggunakan [CRLF]

Versi Protokol ada 2

    HTTP/1.1
    HTTP/1.0

Protokol HTTP/1.1 biasanya berada di BUG sedangkan HTTP/1.0 itu protocol untuk SSH. Tergntung jenisnya

Jenis Koneksi ada 2

[realData] = koneksi yang akhiranya memiliki 2 LINE [crlf][crlf]

Contoh jika menggunakan SSH = CONNECT ipssh:portssh HTTP/1.0[crlf][crlf]

Tergantung jenis koneksi


[netData] = koneksi yang akhiranya TIDAK memiliki LINE. Dan biasanya digunakan untung menambah payload lain semisal Host, Connection, dll

Contoh jika menggunakan SSH = CONNECT ipssh:portssh HTTP/1.0

Dan jika dikuti oleh BUG maka = CONNECT ipssh:portssh HTTP/1.0[crlf]Host: bug.com[crlf][crlf]

Tergantung jenis koneksi. Dan jika di ikuti Bug maka ditambah 1 LINE baru di ikuti BUG dan di akhiri 2 LINE

Inject Method dibagi 3 jenis yaitu

– Normal

– Front Inject

– Back Inject

– Front Query

– Back Query

isi dari request yang akan dikirim

    Normal

Yang artinya koneksi diletakan diawal kemudian di ikuti oleh bug payload dengan 1 LINE [crlf]

Contoh 1 = [netData][crlf]Host: bug.com[crlf][crlf]

ATAU

Contoh 2 = CONNECT ipssh:portssh HTTP/1.0[crlf]Host: bug.com[crlf][crlf]

Hijau = koneksi SSH tediri dari METHOD ip dan port dengan versi protocol HTTP/1.0

Line = [crlf]

Merah = Bug (berlaku pd PC)

    Front Inject artinya depan

Jadi bug itu diletakan di depan selanjutnya di ikuti koneksi (ssh/vpn/direct itu tergantung)

Contoh 1 = GET http://bug.com/ HTTP/1.1[crlf]Host: bug.com[crlf][crlf][realData]

ATAU

Contoh 2 = GET http://bug.com/ HTTP/1.1[crlf]Host: bug.com[crlf][crlf]CONNECT ipssh:portssh HTTP/1.0[crlf][crlf]

Method = GET
Merah = Bug (Berlaku pd PC)

Versi Protokol = HTTP/1.1

Line = [crlf]

Biru = koneksi (Berlaku Pada PC)

    Back artinya belakang

Jadi koneksi dulu (ssh / vpn / direct tergantung ) kemudian di ikuti bug

Contoh 1 = [realData]GET http://bug.com/ HTTP/1.1[crlf]Host: bug.com[crlf][crlf]

ATAU

Contoh 2 = CONNECT ipssh:portssh HTTP/1.0[crlf][crlf]GET http://bug.com/ HTTP/1.1[crlf]Host: bug.com[crlf][crlf]

Biru = koneksi (PC)

Method = GET
Merah = Bug (PC)

Versi Protokol = HTTP/1.1

Line = [crlf]

    Front Query

Artinya ada Bug yg diselipkan didepan koneksi kemudian di akhiri @

Contoh = CONNECT query.com@ipssh:portssh HTTP/1.0[crlf][crlf]GET http://bug.com/ HTTP/1.1[crlf]Host: bug.com[crlf][crlf]

Biru = koneksi (PC)

Hitam = Query

Method = GET
Merah = Bug (PC)

Versi Protokol = HTTP/1.1

Line = [crlf]

Query bisanya sama dengan Bug itu sendiri

    Back Query

Artinya ada Bug yang diselipkan dibelakang koneksi yang diawali @

Contoh = CONNECT ipssh:portssh@query.com HTTP/1.0[crlf][crlf]GET http://bug.com/ HTTP/1.1[crlf]Host: bug.com[crlf][crlf]

Biru = koneksi (PC)

Hitam = Query

Method = GET
Merah = Bug (PC)

Versi Protokol = HTTP/1.1

Line = [crlf]

Query bisanya sama dengan Bug itu sendiri

Replace

Replace adalah mengganti suatu response tertentu agar koneksi bias berjalan. Dan paling sering yaitu meReplace ke 200 OK

Contoh Response =

    302 Found Replace ke 200 OK
    400 Bad Request Replace ke 200 OK
    Dll

Custom Header

Ada banyak sekali jenis custom header. Waktu awal inject muncul mungkin belum terlalu menggunakan custom header untuk payloads. Tetapi karna keamanan semakin ketat maka kita juga membutuhkan custom header untuk mengisi payload.

Contoh =

    Host: bug.com
    X-Online-Host: bug.com
    X-Forward-Host: bug.com
    X-Forwarded-For: bug.com
    Connection: Keep-Alive atau Close
    Proxy-Connection: Keep-Alive atau Close
    Content-Type: */*
    Content-Length: 0 atau 1024 atau yg lain
    Dan masih banyak lagi

SPLIT

fungsi split sendiri adalah untuk memisahkan antar request satu dengan request lainya. Di HTTP Injector sendiri fungsi SPLIT dibagi menjadi 2, yaitu instant split dan delay splitikuti

ROTASI

fungsi rotasi sendiri adalah untuk menggabungkan bug yg lebih dari 1 atau sering disebut mode multy bug. Biasa nya bertujuan utk Bug enambahkan jml limit pd suatu bug.

Contoh beberapa config.

CONNECT line.naver.jp/ POST line.naver.jp/ HTTP/1.1 200 OK/ GET line.naver.jp/ HTTP/1.1 200 OK[crlf]Host: [host_port][crlf]Connection: Keep-Alive[crlf]Proxy-Connection: Keep-Alive[crlf]User-Agent: [ua][crlf]Content-Length: 999999999999999999999[crlf][split][crlf*9]

CONNECT http://line.naver.jp/ HTTP/1.1[crlf]host: [host_port][crlf]X-forwarded-for:123.xl.co.id/min_balance7;m.whatsapp.net;today.line.me[crlf][split][crlf]Content-Lenght:https://github.com/django-tastypie/django-tastypie/issues/799[crlf][crlf]

CONNECT http://c.whatsapp.net/ HTTP/1.1[crlf]Host: c.whatsapp.net[crlf]X-Online-Host: c.whatsapp.net[crlf]Connection: Keep-Alive[crlf]User-Agent: [ua][crlf][crlf]CONNECT [host_port] [protocol][crlf][crlf]Content-Length: 9999999999[crlf][crlf]

CONNECT / HTTP/1.1[crlf]Host: v.whatsapp.net[crlf]Host: [host][crlf]Content-Lenght: 9999999999[crlf][split][crlf][crlf]

CONNECT cdn.whatsapp.net/ HTTP/1.1[crlf]Host: cdn.whatsapp.net[crlf][split]Host: [host_port][crlf]Connection: Keep-Alive[crlf]Proxy-Connection: Keep-Alive[crlf]User-Agent: [ua][crlf]Content-length: 999999999999999999999999999 [crlf][crlf][crlf]

CONNECT [host] [protocol][lf][cr][crlf]X-Online-Host: download.cdn.oly-ap.blackberry.com[crlf]Connection: Keep-Alive[crlf]Proxy-Connection: Keep-Alive[crlf]User-Agent: [ua][crlf]Content-Length: 9999999999999999[crlf][crlf]