Advertisement
Guest User

Untitled

a guest
May 9th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.43 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import re
  4. from socket import *
  5. import sys
  6.  
  7. class phpBB2:
  8.     def __init__(self, host, path):
  9.         self.host=host
  10.         self.path=path
  11.     def login(self, user, passwd):
  12.         self.user=user
  13.         self.passwd=passwd
  14.         user="username="+user
  15.         passwd="password="+passwd
  16.         log="login=Log+In"
  17.         string=user+"&"+passwd+"&"+log
  18.         request="POST "+self.path+"/login.php HTTP /1.1\r\nHost: "+self.host+"\r\nConnection: Close\r\nContent-Length: "+str(len(string))+"\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n"+string
  19.         sock=socket(AF_INET, SOCK_STREAM)
  20.         sock.connect((self.host,80))
  21.         sock.send(request)
  22.         r=""
  23.         t="-"
  24.         while(t!=""):
  25.             t=sock.recv(1024)
  26.             r+=t
  27.         reg=re.compile("phpbb2mysql_data=(.+?);")
  28.         match=reg.findall(r)
  29.         self.cookie_sql_data="phpbb2mysql_data="+match[1]+";"
  30.         reg=re.compile("phpbb2mysql_sid=(.+?);")
  31.         match=reg.findall(r)
  32.         self.cookie_sql_sid="phpbb2mysql_sid="+match[1]+";"
  33.         self.sid=match[1]
  34.         sock.close()
  35.     def get_forum_id(self,forum):
  36.         sock=socket(AF_INET, SOCK_STREAM)
  37.         sock.connect((self.host,80))
  38.         req="GET "+self.path+"/index.php HTTP /1.1\r\nHost: "+self.host+"\r\nConnection: Close\r\nCookie: "+self.cookie_sql_data+self.cookie_sql_sid+"\r\n\r\n"
  39.         sock.send(req)
  40.         r=""
  41.         t="-"
  42.         while(t!=""):
  43.             t=sock.recv(1024)
  44.             r+=t
  45.         sock.close()
  46.         reg=re.compile('\<a href="viewforum\.php\?f=(.+?)" class="forumlink"\>'+forum+'\</a\>')
  47.         match=reg.findall(r)
  48.         return match[0]
  49.     def post(self,forum,subj,message):
  50.         message=message.replace(" ","+")
  51.         sock=socket(AF_INET, SOCK_STREAM)
  52.         sock.connect((self.host,80))
  53.         post="subject="+subj+"&addbbcode18=%23444444&addbbcode20=12&helpbox=Codice%3A+%5Bcode%5Dcodice%5B%2Fcode%5D++%28alt%2Bc%29&message="+message+"&topictype=0&poll_title=&add_poll_option_text=&poll_length=&mode=newtopic&sid="+self.sid+"&f="+self.get_forum_id(forum)+"&post=Invia"
  54.         req="POST "+self.path+"/posting.php HTTP /1.1\r\nHost: "+self.host+"\r\nConnection: Close\r\nCookie: "+self.cookie_sql_data+self.cookie_sql_sid+"\r\nContent-Length: "+str(len(post))+"\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n"+post
  55.         sock.send(req)
  56.         sock.close()
  57.     def log_out(self):
  58.  
  59.         req="GET "+self.path+"/login.php?logout=true&sid="+self.sid+" HTTP/1.1\r\nHost: "+self.host+"\r\nConnection: Close\r\nCookie: "+self.cookie_sql_data+self.cookie_sql_sid+"\r\n\r\n"
  60.         sock=socket(AF_INET, SOCK_STREAM)
  61.         sock.connect((self.host,80))
  62.         sock.send(req)
  63.         sock.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement