python写一个md5解密器示例

yipeiwu_com6年前Python基础

前言:

md5解密,百度了一下发现教程不是很多也不详细。

这个图都没一张。。。

0x01

windows环境,kali也可以啊

burpsuite

requests模块

bs4模块

0x02:

设置好代理

开启burpsuite

(我这是新版的burp)

这代表设置好了。

然后开启抓包

然后,顺便输入个MD5点解密

然后我们可以在burp上看到抓取的包

丛图中我们可以看到数据是被url加密了的。我们找个网站进行url解密

解密之后

然后我们将其数据转换为字典的模式

然后创建一个测试脚本看看能不能成功访问

(200会返回代码,500返回报错)

我们可以看到请求成功了,

我们接下来去找解密出来的md5

发现其在em标签,上bs4模块

然后我们就可以看到过滤好的解密内容与md5

然后我们写一个命令参数的脚本

import requests
from bs4 import BeautifulSoup
import optparse
def main():
  usage="[-m md5 decryption]"
  parser=optparse.OptionParser(usage)
  parser.add_option('-m',dest='md5',help='md5 decryption')
  (options,args)=parser.parse_args()
  if options.md5:
    md5=options.md5
    Md5(md5)
  else:
    parser.print_help()
    exit()

def Md5(md5):
  header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
  data = {
    '__VIEWSTATE': '/wEPDwUKMTM4NTE3OTkzOWRkP4hmXYtPPhcBjbupZdLOLfmeTK4=',
    '__VIEWSTATEGENERATOR': 'CA0B0334',
    '__EVENTVALIDATION': '/wEWAwK75ZuyDwLigPTXCQKU9f3vAheUenitfEuJ6eGUVe2GyFzb7HKC',
    'key': '{}'.format(md5),
    'jiemi': 'MD5解密'
  }
  url = "http://pmd5.com/"
  r = requests.post(url, headers=header, data=data)
  sd = r.content.decode('utf-8')
  esdf = BeautifulSoup(sd, 'html.parser')
  for l in esdf.find_all('em'):
    g = l.get_text()
    print('--------[*]PMD5接口--------')
    print(g)

if __name__ == '__main__':
  main()

然后运行

完美解出!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pandas将DataFrame的列变成行索引的方法

pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面。 1、DataFrame的s...

python使用matplotlib库生成随机漫步图

python使用matplotlib库生成随机漫步图

本教程使用python来生成随机漫步数据,再使用matplotlib将数据呈现出来 开发环境 操作系统: Windows10 IDE: Pycharm 2017.1.3 Python...

python实现指定文件夹下的指定文件移动到指定位置

本文主要是写了一个将指定文件夹下的指定文件类型移动到指定位置,具体内容如下 # coding:utf-8 import os import shutil import sys rel...

Django ORM 常用字段与不常用字段汇总

Django ORM 常用字段与不常用字段汇总

常用字段 AutoField: int 自增列,必须填入参数 primary_key=True 如果没有写 AutoField,则会自动创建一个列名为 id 的列 from dja...

python3使用smtplib实现发送邮件功能

python3使用smtplib实现发送邮件功能

在之前的工作中,业务方做了一些调整,提出了对一部分核心指标做更细致的拆分并定期产出的需求。出于某些原因,这部分数据不太方便在报表上呈现,因此就考虑通过邮件的方式定期给业务方发送数据。 当...