CSRF漏洞分析

上一次的内容主要是 XSS 跨站漏洞的分析,那我们这次主要是给大家带来的是 CSRF 的漏洞分析,教程内容主要来自:https://www.bilibili.com/video/BV1Bp4y1q7XF 本文章作为本课程的一个读书笔记。

课程目录:

一、了解与测试

1、漏洞概述

关于这个漏洞的概述:

2、测试流程

那我们进入一个场景来描述:

这个场景的话就是 lucy 女士想要更改购物网站的信息,更改的信息就是需要luck女士登录这个网站,编辑信息,上传信息。就可以完成信息的更改,但是这时候你会发现 这个更改信息是以 url 信息来传输。那以黑客的角度,要如何入侵呢?

入侵过程

那 CSRF和XSS到底有什么区别?

XSS的话其实就是通过 cookie 直接盗取用户的信息和权限,CSRF的话是要有用户权限的前提下来进行盗取信息。那我们如何判断这个网站是否有 CSRF 漏洞呢?:

二、实验演示

我们直接用 pikachu 靶场来进行实战演示:

然后我们开始对个人信息进行修改:

然后我们通过BP抓包可以抓到这些内容:

http://127.0.0.1:88	GET	/vul/csrf/csrfget/csrf_get_edit.php?sex=11232&phonenum=123123&add=123123&email=123123&submit=submit	true	302	34903	HTML	Get the pikachu		1742295772464

你会发现这个链接地址是不存在 token 等防 csrf 攻击的,那我们攻击者就可以直接更改信息构造成一个链接:

http://127.0.0.1:88/vul/csrf/csrfget/csrf_get_edit.php?sex=man&phonenum=123123&add=123123&email=123123&submit=submit

那我们就可以直接让 Lucy 女生点击我们构造好的链接,这样的话信息就被更改了:

三、防护措施

1、token怎么防止 CSRF 的

后台是这样的:

这是一个示例,当你请求这个页面的时候,系统就会生成一个token。也就是说当你每次刷新的时候,老的token就会被替代,生成新的token,然后丢进前端进行比对

那我们代入 pikachu 靶场来查看:

修改了信息

通过 BP 抓包后的结果:

http://127.0.0.1:88	GET	/vul/csrf/csrftoken/token_get_edit.php?sex=123&phonenum=123&add=123&email=132&token=6461167d95596a58e0300825650&submit=submit	true	302	35031	HTML	Get the pikachu		1742296474767

你会发现多了个 token 的内容,这样的话就可以防止 csrf 漏洞攻击了。那前端大概是怎么样的内容:

前端多了个表单,不过这是隐藏的你看不见,当你提交的时候这个token就会传送到后台,然后后台就进行比对,比对成功就成功修改信息。

后端比对 通过逻辑与来判断 token是否一样
如果比对失败的话是不会跑红框修改信息的代码

最后的 set_token 的话就是:

其实就是删除旧 token 重新生成新的 token

红框部分:后端生成 token 直接 echo 到前端

2、防范措施

关于 CSRF 漏洞分析,我们就到这里结束了,感谢大家阅读!也同时希望大家能够推荐本博客给各位,希望大家能够借鉴学习,有问题可以在评论区指出!

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇