web安全day19:DNS欺骗、ARP攻击及钓鱼网站制作

article/2025/10/1 7:47:26

钓鱼网站

钓鱼网站是指欺骗用户的虚假网站。“钓鱼网站”的页面与真实网站界面基本一致,欺骗消费者或者窃取访问者提交的账号和敏感信息。钓鱼网站一般只有一个或几个页面,和真实网站差别细微。钓鱼网站是互联网中最常碰到的一种诈骗方式,通常伪装成银行及电子商务、窃取用户提交的银行账号、口令等私密信息的网站。

社会工程学

凯文·米特尼克在《反欺骗的艺术》中曾提到,人为因素才是安全的软肋。很多企业、公司在信息安全上投入大量的资金,最终导致数据泄露的原因,往往却是发生在人本身。你们可能永远都想象不到,对于骇客们来说,通过一个用户名、一串数字、一串英文代码,社会工程师就可以通过这么几条的线索,通过社工攻机手段,加以筛选、整理,就能把你的所有个人情况信息、家庭状况、兴趣爱好、婚姻状况、你在网上留下的一切痕迹等个人信息全部掌握得一清二楚。虽然这个可能是最不起眼,而且还是最麻烦的方法。一种无需依托任何骇客软件,更注重研究人性弱点的骇客手法正在兴起,这就是社会工程学骇客技术。

社会工程学骇客常见伎俩:

  • 电话号码欺骗
  • 利用坏消息作案
  • 滥用网民对社交等网站的信任
  • 二维码引诱
  • 等等

钓鱼者运用社会工程学(social engineering)知识诱骗受害者,以在未授权情况下获取对方的姓名、年龄、邮箱账号、甚至是银行卡口令等私人信息

钓鱼往往和社会工程学相结合进行诱导,而社会工程学是骇客的内功,能否灵活运用可以体现一个骇客的个人修为,所以说“防人之心不可无”这句话并非没有道理,凡事不要害人但是总要留个心眼否则最终受伤的就是自己。

实验一:dns欺骗获取敏感信息

本案例利用虚假的京东网站,并且使用DNS与ARP欺骗手段诱使用户输入真实的用户名口令。

实验目标

使用kali系统模拟攻机者,利用中间人的攻机手段来对受害者进行DNS欺骗,使受害者通过访问假的京东网站,来获取用户登录的用户名与口令。

实验环境

vmware

windowsxp--模拟客户机

windows2003--模拟公网的dns服务器与jd的web服务器

kali--模拟攻机机

ettercap软件(kali自带)

jd网站站点素材

实验拓扑

实验步骤

部署web服务器

我们在windows2003上部署web服务,制作假冒的京栋登录网页。关于web服务部署方式,可以移步​​#yyds干货盘点# web安全day6:IIS之WEB服务器​​​

关键源代码,完整代码可私信获得。

<?php
$nam = stripslashes($_POST['name']);
$pas = stripslashes($_POST['pass']);
$filed = @fopen("1.txt", "a+");
@fwrite($filed, "$content\n");
?>
<html>
<head><script type="text/javascript">function goBack(){window.history.back() //后退+刷新}</script>
</head>
<body onload="goBack()"> <!-- 加载之后立即执行一段 JavaScript -->
</body>
</html>

那么我们既然部署了web服务,怎么样才能使客户机去访问它呢?一般客户访问jd就是通过在浏览器上输入www.jd.com来访问,他不会输入某个ip地址去访问,而我们部署了web服务器之后还是只能通过ip地址来进行访问,所以我们还需要部署dns服务。

部署dns服务器

我们在windows2003上部署dns服务,将www.jd.com解析到windows2003,即windows2003既扮演了web服务器,同时又扮演了dns服务器。只要客户将dns地址输入为windows2003的ip地址,windows2003就会将www.jd.com这个地址解析到10.1.1.1上,使得客户访问了假冒的jd站点。

关于dns服务器的部署方式,请移步​web安全day5:DNS部署与安全​​。

部署完毕后,在windowsxp上访问jd.com

我们可以看到,客户机已经访问了我们制作的虚假的jd登录站点。

ettercap工具使用

如果客户机在这个页面上输入用户名和口令,我们通过kali的ettercap就可以截获到这些敏感信息。关于ettercap的使用,可以移步。

我们回到kali进行检查

发现确实截获了这些敏感信息。


http://chatgpt.dhexx.cn/article/4eLXeZbw.shtml

相关文章

第一次尝试制作一个钓鱼网站,小白教程,超细!

**声明&#xff1a;小白一枚&#xff0c;写下来为了记录和学习交流&#xff0c;大神不喜勿喷。 **大体思路&#xff1a;仿页面&#xff0c;社工诱导用户填写信息&#xff0c;提交传入后端&#xff0c;后端获取信息并存储&#xff0c;传回“服务器繁忙”或虚假信息并重定向到真…

@Validated注解不生效问题汇总

Validated注解不生效问题汇总 文章目录 Validated注解不生效问题汇总背景&#xff1a;一&#xff1a;可能原因原因1&#xff1a;原因2&#xff1a;原因3&#xff1a;原因4&#xff1a; 二&#xff1a;补充全局异常对validation的处理 背景&#xff1a; 项目框架应用的是valida…

《SpringBoot篇》12.@Valid与@Validated的区别

陈老老老板 说明&#xff1a;工作了&#xff0c;学习一些新的技术栈&#xff0c;边学习边总结&#xff0c;各位一起加油。需要注意的地方都标红了&#xff0c;还有资源的分享. 一起加油。 1.介绍 说明&#xff1a; 其实Valid 与 Validated都是做数据校验的&#xff0c;只不过注…

@NotBlank与@Validated在参数校验时的使用

1. 在实体类(Student.class)对应的字段加上注解&#xff0c;message为需要提示的信息 package com.example.demo.entity;import lombok.Data; import lombok.ToString;import javax.validation.constraints.NotBlank; Data ToString public class Student {private int id;Not…

@Validated和@Valid的用法

后端接口经常需要对入参做校验&#xff0c;比如限制非空、长度、类型等。可以用代码校验&#xff0c;但是这样会比较麻烦&#xff0c;代码看着也比较繁琐。所以对于一些简单的校验&#xff0c;可以用注解的方式&#xff0c;这个时候就会用到Validated或Valid的注解了&#xff0…

@Validated注解不生效问题汇总大全

背景&#xff1a; 项目框架应用的是validation进行检验的&#xff0c;但是最近一直不生效&#xff0c;然后排查了下问题&#xff0c;总结了失效的常见几个原因&#xff1a; 原因1&#xff1a; 在2.3.0版本之前spring-boot-starter-web是集成了validation检验的 但是在2.3.0…

Validated、Valid 、Validator,他们的区别你知道几个

目录 ​ 1. 结论先出 Valid VS Validated 相同点 JSR 380 Valid VS Validated 不同点&#xff1f; Valid和Validated区别 Validator 2. Valid和​​​​​​​Validated 注解 3. 例子 4.使用Valid嵌套校验 5. 组合使用Valid和Validated 进行集合校验 6. 自定义校验…

@Valid 和@Validated 总结

Valid 作用在方法&#xff0c;字段&#xff0c;构造器和参数上 Validated 作用在类 方法 和参数上 Validated 和Valid 配合ModelAttribute 与BindingResult 对对象进行校验 &#xff0c;如果校验不通过&#xff0c;那么错误信息就会封装到BindingResult对象了&#xff0c;可以…

@Validated用法

我们在做请求参数时&#xff0c;往往要对前端传过来的参数进行校验&#xff0c;如果一个个去校验&#xff0c;必然会写大量的代码&#xff0c;所以我们可以使用validated注解来简化我们的校验 查资料的过程中又知道了valid注解 下图是可以在参数上使用的校验注解 validate是…

@Validated的使用

javax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行校验 1、首先就是在项目中引入依赖&#xff0c;在SpringBoot中spring-boot-starter-web&#xff08;springbootweb启动器&#xff09;依赖的时候中&#xff0c;内部已经依赖了 hibernate-validator 依赖包 …

@Valid和@Validated注解校验以及异常处理

文章目录 前言一、Valid注解1、源码解析2、所属的包3、参数校验使用注解&#xff08;1&#xff09;空校验&#xff08;2&#xff09;Boolean校验&#xff08;3&#xff09;长度校验&#xff08;4&#xff09;日期校验&#xff08;5&#xff09;数值校验&#xff08;6&#xff0…

别再乱用了,这才是 @Validated 和 @Valid 的真正区别和用法!

概述 Valid是使用Hibernate validation的时候使用Validated是只用Spring Validator校验机制使用 说明&#xff1a;java的JSR303声明了Valid这类接口&#xff0c;而Hibernate-validator对其进行了实现 Validation对Valid进行了二次封装&#xff0c;在使用上并没有区别&#xff0…

【优雅的参数验证@Validated】@Validated参数校验的使用及注解详解——你还在用if做条件验证?

Validated参数校验的使用及注解详解 你还在用if做条件验证吗&#xff1f;一、优雅的参数验证Validated1.Valid和Validated的用法(区别)2.引入并使用Validated参数验证 二、javax.validation.constraints下参数条件注解详解三、自定义条件注解 你还在用if做条件验证吗&#xff1…

@Validated和@Valid的区别

Validated和Valid的区别主要体现在3个方面&#xff1a; 1. 分组 Validated&#xff1a;提供了一个分组功能&#xff0c;可以在入参验证时&#xff0c;根据不同的分组采用不同的验证机制。没有添加分组属性时&#xff0c;默认验证没有分组的验证属性。 实体类&#xff1a; Co…

@Validated注解

一. 在javaEE项目中经常要判断一些字段的格式是否正确。在以前基本上都是用if(啥啥 啥)else(啥啥啥) 。但是在知道Validated之后就开始尝试用这个注解了。不但减轻代码量而 且代码更加的易读规整。 二. 下面就以简单例子来说明。 Controller 层 PostMapping("student&q…

@Valid 和 @Validated 注解用法详解

目录 案例引入 Valid 详解 Validated 详解 Valid 和 Validated 比较 案例引入 下面我们以新增一个员工为功能切入点&#xff0c;以常规写法为背景&#xff0c;慢慢烘托出 Valid 和 Validated 注解用法详解。 那么&#xff0c;首先&#xff0c;我们会有一个员工对象 Emplo…

@Validated注解详解,分组校验,嵌套校验,@Valid和@Validated 区别,Spring Boot @Validated

技术栈&#xff1a; spring boot 2.3.3.RELEASE hibernate-validator 文末附项目源代码 目录 简述 项目依赖 全局异常处理类 基础参数校验 实体类 控制类 测试 嵌套参数验证 实体类 控制类 测试 分组参数验证 接口类 实体类 控制类 测试 Valid和Validated 区…

@Valid与@Validated的区别

1.介绍 说明&#xff1a; 其实Valid 与 Validated都是做数据校验的&#xff0c;只不过注解位置与用法有点不同。 不同点&#xff1a; &#xff08;1&#xff09; Valid是使用Hibernate validation的时候使用。Validated是只用Spring Validator校验机制使用。 &#xff08;2&…

优雅的使用Validated

前言 Validation是一套帮助我们继续对传输的参数进行数据校验的注解&#xff0c;通过配置Validation可以很轻松的完成对数据的约束。 这个技术一直都想进行梳理了很多复杂校验不会使用&#xff0c;本章节用来进行梳理 validated 用于参数的校验&#xff0c;支持简单和复杂(分组…

@Valid与@Validated区别

1.Valid与Validated作用 Valid与Validated都是用来校验接收参数的。Valid是使用Hibernate validation的时候使用Validated是只用Spring Validator校验机制使用说明&#xff1a;java的JSR303声明了Valid这类接口&#xff0c;而Hibernate-validator对其进行了实现。Validated与V…