python写一个md5解密器示例

yipeiwu_com7年前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设计】。

相关文章

python模块smtplib实现纯文本邮件发送功能

python模块smtplib实现纯文本邮件发送功能

今天学到了如何使用Python的smtplib库发送邮件,中间也是遇到了各种各样的错误和困难,还好都一一的解决了。下面来谈一谈我的这段经历。 配置你的邮箱 为什么要配置邮箱呢?具体要配置...

Python正则表达式匹配HTML页面编码

html页面一般都会指定一个编码,如何获取到是处理html页面的第一步,因为错误的编码必然带来后面处理的问题。这里我用python的正则表达式写了个: import re a =...

python基础教程项目五之虚拟茶话会

python基础教程项目五之虚拟茶话会

几乎在学习、使用任何一种编程语言的时候,关于socket的练习从来都不会少,尤其是会写一些局域网的通信的东西。所以书上的这个项目刚好可以练习一下socket编程。 这个练习的整体思路首先...

Python matplotlib 画图窗口显示到gui或者控制台的实例

我们再用Jupyter-notebook,ipython-console,qtconsole的时候,有的时候画图希望不弹出窗口,直接画在console里,又得时候有希望弹出窗口,因为co...

python装饰器代替set get方法实例

对于变量的访问和设置,我们可以使用get、set方法,如下: class student: def __init__(self,name): self.__name =...