CSRF漏洞分析和防御

目录

  • 简介
  • XSS和CSRF的区别
  • 示例
  • 防御

简介

CSRF:跨站点请求伪造(Cross Site Request Forgery)

形成原因:攻击者伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了;成功的原因是重要操作的所有参数都可以被攻击者猜测到进行伪造,因为发起一次csrf攻击需要构造一个合法的请求。

XSS和CSRF的区别

XSS和CSRF的区别:
CSRF是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法,并没有获取用户的权限(比如cookie)而是借助用户本身在不知情下发起攻击者伪造的请求,达到执行非本意操作的目的。CSRF 利用的是网站对用户网页浏览器的信任。
XSS是利用未对用户输入的数据进行处理漏洞,导致HTML被写入js代码,产生危害(如获取用户的cookie)。XSS 利用的是用户对指定网站的信任。
CSRF漏洞分析和防御_第1张图片
CSRF漏洞分析和防御_第2张图片

示例

CSRF攻击成功有两点:
1、目标用户在登录状态
2、目标用户点击链接

举例说明:
靶场:pikachu
以vince账户登录密码123456
CSRF漏洞分析和防御_第3张图片
登录状态下尝试修改信息:
CSRF漏洞分析和防御_第4张图片
抓包发现未对重要参数进行处理也没有验证(token等),存在csrf漏洞,尝试伪造请求:
CSRF漏洞分析和防御_第5张图片
构造链接:

echo '';

crsf_request.html

<html>
	<head>
	<meta charset=utf-8>
		<title>
			csrf
		title>
	head>
	<body>
		<p>修改信息p>