csrf-基于Pikachu的学习

news/2024/10/13 22:20:00

CSRF-跨站请求伪造

CSRF的原理

CSRF攻击即Cross-site request forgery,跨站请求伪造,直白来说就是恶意网站伪装成用户,向被害网站发起操作请求。

img

  1. 用户输入账号信息请求登录A网站。
  2. A网站验证用户信息,通过验证后返回给用户一个cookie
  3. 在未退出网站A之前,在同一浏览器中请求了黑客构造的恶意网站B
  4. B网站收到用户请求后返回攻击性代码,构造访问A网站的语句
  5. 浏览器收到攻击性代码后,在用户不知情的情况下携带cookie信息请求了A网站。此时A网站不知道这是由B发起的。那么这时黑客就可以进行一下骚操作了!
两个条件:
1 用户访问站点A并产生了cookie2 用户没有退出A同时访问了B

Pikachu靶场

CSRF-GET

打开题目,是一个登录框,我们直接提示一下,挑选一下受害者(因为CSRF需要用户已经登录,服务器给了一个cookie),那就allen登录一下吧。

image-20240502164451348

image-20240502164720175

接下来我们修改一下个人信息试试看,修改成:

image-20240502164918162

我试过一次后,url很快变了一下,我们看不到,所以burp启动,捕捉一下吧,发现的确有参数

image-20240502165014269

我们给参数值复制一下,然后把包发了,停止抓包了,我们就刚才那个参数开始去构造payload一下。

(我这里是搭建在本地了,所以你构造的时候需要写你靶场在的url)

http://localhost/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=hack&phonenum=hack&add=hack&email=hack&submit=submit

然后我们去浏览器拿着payload访问一下:
image-20240502165903837

啊啊啊,我的信息被改了,GG

CSRF-POST

这道题还是一个登录,这次选取受害者vince

image-20240502173338150

点击修改个人信息,然后burp抓包,发现是POST请求,所以不能直接访问链接去触发CSRF,需要我们去构造一个html,这里我们直接用burp的工具生成

image-20240502173740736

生成如下,我们复制粘贴,创一个html文件

image-20240502173914829

image-20240502174027159

点击submit,发现信息被更改了

注意打开这个html文件的时候用的浏览器一定要与账号登陆的那个浏览器一样才行

image-20240502174610256

CSRF-token

这次受害对象我选的kevin

image-20240502175310976

点击修改个人信息,抓包看看怎么个事

image-20240502175404009

加了一个token值,token值每次都会改变,CSRF攻击就不起效了,收拾跑路吧!

CSRF的防御措施

javascript - CSRF是什么?有效的防御措施有哪些? - 前端_风雨开发路 - SegmentFault 思否

什么是CSRF?如何防御CSRF攻击?知了堂告诉你 - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26887.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

使用LinkAI创建AI智能体,并快速接入到微信/企微/公众号/钉钉/飞书..

LinkAI 作为企业级一站式AI Agent 智能体搭建与接入平台,可以使用LinkAI创建专属智能体,并将它连接到并快速接入到微信/企微/公众号/钉钉/飞书/web等​ LinkAI 作为企业级一站式AI Agent 智能体搭建与接入平台,不仅为用户和客户提供能够快速搭建具备行业知识和个性化设定的 …

基于CodeMirror开发在线编辑器时遇到的问题及解决方案

需求:实现json在线编辑并支持校验,基于此使用了 CodeMirror在线编辑,jsonlint校验输入数据 // package.json:"dependencies": {"codemirror": "^5.53.2","core-js": "^3.8.3","jsonlint": "^1.6.3",…

【VMware vCenter】连接和使用vCenter Server嵌入式vPostgres数据库。

vCenter Server 早期支持内嵌(embedded)和外部(external)数据库,内嵌数据库就是vPostgres,基于VMware Postgres数据库(PostgreSQL数据库),外部数据库用的多的是Oracle数据库和SQL Server数据库。因为早期使用内嵌的PostgreSQL数据库只能用于小型环境,比如仅支持几十台…

对于 CF1107E 中 dp 状态设计的一点想法

我在这延伸谱线誊写勾勒 / 试图将歌唱的意义勘破不太想发到洛谷讨论区,就往这里放了。 我觉得现有的题解都没说明白为什么本题的状态和转移能覆盖所有情况,并且感觉也非常不自然,没见过的话感觉挺难发现这么一个东西。 然而这个 dp 其实是可以自然地推导出来的。 首先发现这…

解决vscode连接远程服务器出现Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 过程试图写入的管道不存在。

1.找到.ssh文件夹。它通常位于C:\Users2.右键单击.ssh文件夹,然后单击“属性”,选择“安全”3.单击“高级”。 单击“禁用继承”,单击“确定”。 将出现警告弹出窗口。单击“从此对象中删除所有继承的权限”。 4.此时所有用户都将被删除。添加所有者。在同一窗口中,单击“编…

TCP的三次握手过程

TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的...TCP是面向连接的、可靠的、基于字节流的传输层通信协议。 TCP是面向连接的协议,所以使用 TCP前必须先建立连接,而建立连接…

用 Python 开发一个【GIF表情包制作神器】

用python成为了微信斗图届的高手然后,好多人表示:虽然存了很多表情包但似乎还不是很过瘾因为它不可以自己来定制我们可不可以根据一些表情素材然后自己制作专属表情包呢像这样本来小帅b想自己实现一个表情包制作器后来发现已经有人在 GitHub 分享了 主要功能就是 可以在原有的…

DRM

DRM是Linux目前主流的图形显示框架,相比FB架构,DRM更能适应当前日益更新的显示硬件。 比如FB原生不支持多层合成,不支持VSYNC,不支持DMA-BUF,不支持异步更新,不支持fence机制等等,而这些功能DRM原生都支持。 同时DRM可以统一管理GPU和Display驱动,使得软件架构更为统一…