postswigger 靶场(CSRF)攻略-- 2.令牌验证

news/2024/12/22 13:17:20/

 靶场地址:

What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy (portswigger.net)icon-default.png?t=N7T8https://portswigger.net/web-security/csrf

令牌(token)验证取决于请求方法

题目中已告知易受攻击的是电子邮件的更改功能,而目标是利用 csrf 漏洞更改受害者的电子邮件地址,最后给出了登录凭据:wiener:peter。

1.登录 wiener 用户

        a.依旧是账号密码进行登录,wiener:peter,

        b.然后在更改邮箱的界面输入test@test.ca

        c.进行抓包

2.改变请求方法

        a.因为 POST 请求会对 token 验证(在没有 token 的情况下会 404),从而无法修改邮箱。

         b.GET 不需要。于是右键 burp 点击 Change request method,将请求方法从 POST 更改为 GET

3.进行 csrf 攻击

        a.在 burp 中右键生成 csrf poc.

        b.选项中把自动提交脚本选择上,代码中的 emali 修改为testcsrftoken1@test.ca,copy html,

        c.用 burp 的服务器托管脚本,粘贴到 body 中。最后点击"Store",并发送给受害者,完成试验

        通过


http://www.ppmy.cn/news/1215284.html

相关文章

2311d9月会议

DLF2023年9月月度会议摘要 Robert Robert,在DConf上做了一些初步的JSON5工作.他还更新了Bugzilla到GitHub的迁移脚本.他使用了"隐藏"API,现在脚本要快得多. 除此外,他在DScanner上做了一些小事,并等待JanJurzitza(Webfreak)合并它们.他指出,沃尔特曾要求他写一篇演…

Naocs配置中心配置映射List、Map、Map嵌套List等方式

一、配置映射List 1、常规逐个配置方式,示例如下: 代码: @Data @Configuration @ConfigurationProperties(prefix = "list-json-str") public class ConfListByJsonStr implements Serializable, InitializingBean {@ApiModelProperty("映射结果集")…

数字人部署之VITS+Wav2lip数据流转处理问题

一、模型 VITS模型训练教程VITS-从零开始微调(finetune)训练并部署指南-支持本地云端 Wav2lip是2D数字人,可参考训练嘴型同步模型Wav2Lip PS:以上模型都是开源可用。 二. VITS数据处理问题 VITS模型的输出为一维的numpy类型数据&#xff…

csdn2023必看系列:最牛最全面的JMeter实现接口自动化测试教程

【文章末尾给大家留下了大量的福利哦】 一、JMETER的环境搭建 参考:https://www.cnblogs.com/qmfsun/p/4902534.html 二、JMETER的汉化 临时汉化方法:打开jmeter,options-->choose language-->选择语言 可以根据自己的需要选择简体…

Mysql词法分析实验(一)

1. 关键字与标识符的辨识 在 SQL 语言中,某些单词既可以作为关键字也可以作为标识符(例如列名或表名)。通常,关键字在特定的上下文中具有特定的意义,而在其他上下文中,则可以作为普通的标识符。例如&#…

Java Lambda 表达式笔记

文章目录 Java Lambda 表达式语法Lambda 表达式实例Lambda表达式与函数式接口方法引用处理lambda表达式的接口 Java Lambda 表达式语法Lambda 表达式实例Lambda表达式与函数式接口方法引用处理lambda表达式的接口 Java Lambda 表达式 Lambda 表达式,也可称为闭包. …

【Leetcode】【数据结构】【C语言】判断两个链表是否相交并返回交点地址

struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode *tailAheadA;struct ListNode *tailBheadB;int count10;int count20;//分别找尾节点,并顺便统计节点数量:while(tailA){tailAtailA->next;c…