csrf

pikachu--CSRF

半城伤御伤魂 提交于 2020-02-09 05:51:42
web安全 实验报告 实验二 CSRF 学生姓名 倪文锴 年级 2017级 区队 实验班 指导教师 高见 一、概述 CSRF 是 Cross Site Request Forgery 的 简称,中文名为跨域请求伪造 在CSRF的攻击场景中,攻击者会伪造一个请求(一般是一个链接) 然后欺骗目标用户进行点击,用户一旦点击了这个请求,这个攻击也就完成了 所以CSRF攻击也被称为“one click”攻击 (1) CSRF--(get) 首先先进入登录界面 点击修改个人信息,抓包得到链接 从提交的请求来看,后台没做CSRF token,同时也是通过GET请求来提交修改信息,我们拿到这个,修改一下,然后让kevin点击就好,我们构造的URL中把地址add改为cn。kevin一点击就修改了地址。 192.168.141.1:88/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=%E7%94%B7&phonenum=123456789&add=cn&email=7955526516%40qq.com&submit=submit GET请求修改个人信息,所有的参数都在URL中体现,这种方式使比较好利用的,我们只要能够伪造出来这个链接,把对应的参数内容修改成为我们需要的值,让带有登录态的用户去点击就完成了我们的攻击。 修改网址,完成修改

第十篇:跨站请求伪造csrf

假如想象 提交于 2020-02-07 21:04:45
钓鱼网站 钓鱼网站和正规网站的页面一模一样,提交网页数据的url也一样,但是会在页面中设置隐藏属性的form表单。例如转账:给用户书写的form表单,对方账号的input没有name属性,然后另外写一个具有默认的并且是隐藏的具有name属性的input框。 form表单如何通过csrf校验 为了防止此类事情的发生,我们使用csrf_token生成随机字符串 在form表单内添加: {% csrf_token %} browser客户端向服务端发动get请求,服务端返回给browser一串随机的字符串,当browser向服务端发送post请求时,会携带上该字符串,服务端会先对该随机字符串进行校验,如果客户端携带的字符串和服务器上的字符串一致,服务端会允许客户端提交post请求,否则会被forbidden掉。 当客户端向django服务端发送post请求,django中间件 django.middleware.csrf.CsrfViewMiddleware 会获取post中携带的name为“ csrfmiddlewaretoken ”的value是否和之前返回给客户端的value一致。 ajax如何通过csrf校验 第一种: 自己手动获取 <body> <form action="" method="post"> {% csrf_token %} <p>用户名:<input type=

Angular, HTTP Get works, Post receives CORS error

匆匆过客 提交于 2020-02-07 07:23:49
问题 Setup I have an Angular app running in an iframe in a JSP application. The JSP application is legacy and needs to stay. Both JSP and Angular call the same REST services. The JSP application does the login and receives a session cookie. Since the Angular app is embedded in the JSP app on the SAME tomcat server, the cookies are transferred (at least what I understand). tomcat ├── webapps │ ├── jspapp │ │ ├── ... │ ├── angularapp │ │ ├── ... GET Code ... build params ... return http.get(url, {

CSRF attack with FORM GET and IFRAME [duplicate]

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-07 02:28:45
问题 This question already has answers here : get html of external url in jquery (6 answers) Closed 2 years ago . I'm try to see if a website is vulnerable to CSRF with following code <html> <body> <div> <iframe width="0" height="0" border="0" name="dummyframe" id="dummyframe"></iframe> <form action="TARGET_SITE" method="GET" id="get_site" target="dummyframe"></form> <script> document.getElementById("get_site").submit(); var e = document.getElementById("dummyframe"); if(e != null) { alert(e

How to secure my react app api with csurf?

♀尐吖头ヾ 提交于 2020-02-05 05:38:28
问题 I am trying to add csrf protection to my react app but I am getting an error Invalid token all the time import bodyParser from 'body-parser'; import cookieSession from 'cookie-session'; import passport from 'passport'; import csrf from 'csurf' import config from '../../config' import AuthRoutes from "./routes/AuthRoutes"; /* Test only */ import cookieParser from 'cookie-parser'; const session = cookieSession({ maxAge:24 * 60 * 60 * 1000, keys:[config.COOKIE_KEY], name:'authentication', });

How to secure my react app api with csurf?

余生长醉 提交于 2020-02-05 05:38:07
问题 I am trying to add csrf protection to my react app but I am getting an error Invalid token all the time import bodyParser from 'body-parser'; import cookieSession from 'cookie-session'; import passport from 'passport'; import csrf from 'csurf' import config from '../../config' import AuthRoutes from "./routes/AuthRoutes"; /* Test only */ import cookieParser from 'cookie-parser'; const session = cookieSession({ maxAge:24 * 60 * 60 * 1000, keys:[config.COOKIE_KEY], name:'authentication', });

How to send CSRF Cookie from React to Django Rest Framework with Axios

筅森魡賤 提交于 2020-02-04 01:41:24
问题 I want to make a POST request from a React app using Axios to a Django Rest Framework backend. I have managed to get a CSRF Token from the backend but I can't manage to send it with my request, so I always get a Forbidden (CSRF cookie not set.) error: This is the code of my React app: handleClick() { const axios = require('axios'); var csrfCookie = Cookies.get('XSRF-TOKEN'); console.log(csrfCookie) axios.post('http://127.0.0.1:8000/es/api-auth/login/', { next: '/', username: 'admin@admin.com'

CSRF手工测试方法

Deadly 提交于 2020-02-03 14:10:08
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。一般来说,CSRF是除XSS外最常见一种漏洞,也是一大刷分利器。 有关CSRF的具体利用,CEO早在 08年就给我们详细介绍了,大家可以去膜拜下: 文章链接http://blog.csdn.net/lake2/Article/details/2245754 下面分享下我个人在测CSRF漏洞时绕过防御的一些主要经验,希望能和大家一起交流下。目前腾讯百度等站点防御CSRF漏洞的主要方法是添加 token(一般参数名为g_tk,bdtoken)与referer验证,相信大家在很多时候抓包一看有token或者删除referer重新发包报错 了就会觉得这里不会有csrf漏洞了,可实际情况可不一定。还有一种常见情况就是使用验证码,这种情况我暂时没找到什么方法,查阅了一些网络资料,目前识 别验证码的方法都无法直接利用到绕过CSRF防御上来,所以不考虑用户体验的话,验证码是防御CSRF攻击的最有效的方法。如果有大牛有其它思路绕过的话 希望能分享给大家一起讨论下。 情况A: 无token无referer验证这种情况现在比较少了,一般出现在一些新上线的业务。我一般测试时都是用Firefox的Live Http

Django CSRF Cookie — why doesn't it expire at browser close?

喜你入骨 提交于 2020-02-02 05:02:55
问题 Django allows you to specify that the session expires at browser close (with some caveats for Chrome). Why doesn't it do that for the CSRF cookie? I ask because it seems to me that the CSRF token is vulnerable to being leaked (e.g., by mistakenly putting it in a post to an external site), and this would be a mitigation for that. Am I misunderstanding something? 回答1: I'll repost my answer from the developer's list that Carl linked, so that stackoverflow has it too: If the cookie were set to

CSRF攻击与防御

本秂侑毒 提交于 2020-01-30 19:43:40
CSRF Cross Site Request Forgy 跨站请求伪造 需要条件 用户登录 A 网站 A 网站确认身份 B 网站页面向 A 网站发起请求(带 A 网站身份) CRSF 攻击危害 利用用户登录态---盗取用户资金(转账,消费) 用户不知情---冒充用户发帖背锅 完成业务请求---损坏网站名誉 ... CSRF 攻击防御 过程: B 网站向 A 网站请求 带 A 网站 Cookies 不访问 A 网站的前端 referer 为 B 网站(这里的 referer 为为数不多的错误单词) 禁止第三方网站带 Cookies,为 Cookies 设置 Same-site 属性 koa 设置方式 ctx.cookies.set("userId", user.id, { httpOnly: false, sameSite: "strict" }); 这种方法较好但是,有些浏览器不支持,但将来应该会的 不访问 A 网站的前端 在前端页面加入验证消息 验证码 安装第三方插件生成验证码 运行 npm install ccap --save captcha.captcha = async function(ctx, next) { var ccap = require("ccap"); var capt = ccap(); var data = capt.get(); captcha