乐于分享 共同成长

JE2Se ,一个不怎么努力上进的小菜鸡

Python-密码加密脚本

打算写一点小脚本,记录一下过程,辅助记忆,希望也可以提供给你一点便利。 在工作中我们可能会需要编写一些小工具来辅助我们的测试,这篇文章记录的是关于字典的脚本,脚本可能写的不够好,大佬勿喷,或请指导!感谢!


生成字典

有的时候,譬如爆破验证码,简单的用户名密码爆破都会用到字典,虽然说burp已经继承了intruder,但是!@#¥!#%!@#¥,嗯嗯,这个也可以用)

""" 字典生成脚本""" 
__author__="JE2Se" 
import itertools as its 
import os 

words = "123456789"                     #字符可自行设置 
password= its.product(words,repeat=8)   #repeat代表着你要创建的密码位数 dic = open("pass.txt","a")              #创建一个txt文本
    for i in password:                  #遍历插入     
        dic.write("".join(i))     
        dic.write("".join("\n")) 
dic.close()

这样,简单的字典就生成了


加密字典生成

测试时,虽然存在验证码绕过,暴力破解的风险,但是抓取到的密码存在加密,对于一些简单的加密,我们可以使用加密脚本去进行构造。下面我举几个小的例子,仅为我碰到过的,其他的酒暂时不写了,随遇到,随更新。


sha512

可以利用hashlib模块。模块内可使用md5,sha512.256等进行加密。以下的例子我使用的是256加密

__author__="JE2Se"
import hashlib
import os

file1 = open(r"字典位置")
file2 = open("2.txt","w")
for line in file1.readlines():
   line=line.strip('\n')
   file2.writelines(hashlib.sha256(line.encode("utf-8")).hexdigest()+'\n')

file1.close()
file2.close()

sha1(salt+pass)

__author__="JE2Se"
import os
from hashlib import sha1
 
#解密后口令信息:je2se.com.cn:123456
#加盐加密后sha1:24360aac566c1da65014ee1abbfec43b9b49395e
file1 = open(r"pwd.txt")
file2 = open("enpwd.txt","w")
for line in file1.readlines():
    line = line.strip('\n')
    salt = "je2se.com.cn:" 
    newpwd =salt+line
    s1 = sha1()
    s1.update(newpwd.encode())
    result = s1.hexdigest()
    print(result)
    file2.writelines((str(result)) + '\n')

file1.close()
file2.close()

base64(salt+pass)

__author__="JE2Se"
import os
import base64

file1 = open(r"pwd.txt")
file2 = open("enpwd.txt","w")
for line in file1.readlines():
    line=line.strip('\n')
    salt = "99879094ddeee" 
    file2.writelines(str(bytes.decode(base64.b64encode((salt+line).encode('utf-8')))) + '\n')

file1.close()
file2.close()

md5

import hashlib
import os
__author__="JE2Se"

file1 = open(r"字典位置")
file2 = open("2.txt","w")
for line in file1.readlines():
   line=line.strip('\n')
   file2.writelines(hashlib.md5(line.encode(encoding='UTF-8')).hexdigest()+'\n')

file1.close()
file2.close()

随碰到随更新~脚本虽小,只是为了留存。

ps:来自一个想学好python的狗!

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

6 − 2 =