csrf

SameSite cookie in Java application

假装没事ソ 提交于 2020-02-17 06:58:05
问题 Do you know any Java cookie implementation which allows to set a custom flag for cookie, like SameSite=strict ? It seems that javax.servlet.http.Cookie has a strictly limited set of flags which can be added. 回答1: I am not a JEE expert, but I think that because that cookie property is a somewhat new invention, you cannot expect it to be present in Java EE 7 interfaces or implementations. The Cookie class is missing a setter for generic properties, as it seems. But instead of adding the cookie

web安全问题-csrf

依然范特西╮ 提交于 2020-02-17 03:31:20
web安全问题 csrf <script> document.write(` <form name="commentForm" target="csrf" method="post" action="http://localhost:1521/post/addComment"> <input name="postId" type="hidden" value="13"> <textarea name="content">来自csrf</textarea> </form> ` ); var iframe = document.createElement('iframe'); iframe.name = 'csrf'; iframe.style.display = 'none'; document.body.appendChild(iframe); setTimeout(function(){ document.querySelector('[name=commentForm]').submit(); },1000) </script> <img src="http://localhost:1521/ajax/addComment?postId=13&content=123123"> <a href="http://localhost:1521/ajax/addComment

关于前端安全

自闭症网瘾萝莉.ら 提交于 2020-02-17 02:44:38
1. 两种跨站攻击:XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求伪造(Cross-site request forgery) 2.XSS特点:是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布评论,提交含有 JavaScript 的内容文本。这时服务器端如果没有过滤或转义掉这些脚本,作为内容发布到了页面上,其他用户访问这个页面的时候就会运行这些脚本 1.盗取用户cookie,伪造用户身份 2.控制用户浏览器 3.结合浏览器及其插件漏洞,下载病毒木马到浏览者的计算机运行 4.衍生URL跳转漏洞 5.官网挂钓鱼网站 6.蠕虫攻击 3.CSRF:冒充用户之手,伪造请求 -->横向提权(修改个人数据);纵向提权(添加用户); 区别:XSS 是实现 CSRF 的诸多途径中的一条,但绝对不是唯一的一条。一般习惯上把通过 XSS 来实 现的 CSRF 称为 XSRF。 xss:跨站点攻击。xss攻击的主要目的是想办法获取目标攻击网站的cookie,因为有了cookie相当于有了session,有了这些信息就可以在任意能接进互联网的PC登陆该网站,并以其他人的身份登陆做破坏。预防措施防止下发界面显示html标签,把</>等符号转义。 csrf:跨站点伪装请求。csrf攻击的主要目的是让用户在不知情的情况下攻击自己已登录的一个系统,类似于钓鱼

web安全

拜拜、爱过 提交于 2020-02-15 05:48:49
程序员必须要了解的web安全 本文是读书总结,出自《白帽子讲web安全》 ----吴翰清 1.简述 互联网本来是安全的,自从有了研究安全的人之后,互联网就变得不安全了。 1.1什么是安全? 字典的解释是指没有受到威胁、没有危险、危害、损失。 1.2什么情况下会产生安全问题? 类似我们在机场,火车站里面,乘客开始上车之前,都会有一个必要的程序:安全检查。如果没有安全检查我们就会产生我们所谓的安全问题。在安全检查中我们会检查乘客身上是否携带了打火机,可燃液体等危险物品。 从上面我们看出为什么我们会有安全检查呢?归根结底还是信任问题。因为我们的信任关系被破坏,从而产生了安全问题。 1.3怎么进行有效的安全评估? 一个安全评估过程,可以简单地划分为4个阶段:资产等级划分,威胁分析,风险分析,确认解决方案。 资产等级划分:明确我们目标是什么,要保护什么。互联网安全的核心问题,其实是数据安全问题。用户的数据也就是我们需要保护的。 威胁分析:找到所有可能造成危害的来源,一般采用头脑风暴列举所有的情况。 风险分析:预估造成的损失大小。 确认解决安全方案:安全评估的产出物,就是确认安全解决方案。解决方案一定要有针对性,这种针对性是由资产等级划分,威胁分析,风险分析,确认解决方案。 2.浏览器安全 近年来随着互联网的发展,人们发现浏览器才是互联网最大的入口,绝大多数用户使用互联网的工具是浏览器

pikachu----CSRF 跨站请求漏洞

喜你入骨 提交于 2020-02-14 20:31:40
CSRF 在CSRF攻击场景中攻击者会伪造一个请求 (一个链接) 然后欺骗目标用户点击,用户一旦点击了这个请求,整个攻击也就完成了 所以CSRF攻击也被称为“one click“攻击 例子: 想要修改lucy购物地址信息 lucy必须处于登录的状态,lucy必须点击攻击链接 xss和csrf区别: 1.csrf(get) 登录之后,可以进入修改个人信息 然后进行抓包 将get请求修改为攻击者伪造的链接 在登录状态下点击,就可以修改用户信息 /pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=hebei&email=lucy%40pikachu.com&submit=submit 2. csrf (post) 修改信息后,抓包 如果是POST型的,所有参数在请求体中提交,我们 不能通过伪造URL的方式进行攻击 这里的攻击方式跟XSS中POST类型是一样的, 攻击者可以搭建一个站点 ,在站点上做一个表单, 诱导lucy点击这个链接,当用户点击时,就会自动向存在CSRF的服务器提交POST请求修改个人信息。、 编写一个post.html页面,代码如下所示,本文把此页面放到 Kali 的/var/www/html/pikachu/doge_csrf下,然后启动 apache 服务

CSRF(跨站请求伪造)

╄→гoц情女王★ 提交于 2020-02-12 23:48:31
1.CSRF简介   CSRF的全名是Cross Site Request Forgery(跨站请求伪造),是一种诱使用户访问一个页面,然后盗用该用户身份在第三方站点里执行一次操作的攻击手段,其本质原因在于重要操作的所有参数都是可以被攻击者猜测到的。 2.CSRF检测   2.1 收集CSRF有利用价值的点(需要权限的)     csrf由于其利用的特殊性,并不需要将整个站点的所有数据包均测试一遍,只需测试有csrf价值的点( 需要权限的即时性的操作 )即可     如:转账、购物、修改密码、删除、发布内容...   2.2 GET类型的CSRF检测    如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,即存在CSRF漏洞。   2.3 POST类型的CSRF检测    如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,再去掉referer参数的内容,如果仍然可以,说明存在CSRF漏洞,可以利用构造外部form表单的形式,实现攻击。如果直接去掉referer参数请求失败,这种还可以继续验证对referer的判断是否严格,是否可以绕过。 3.CSRF实例   工具:burpsuite中Engagement tools的Generate CSRF PoC模块   3.1 抓取修改密码的数据包,发送到Repeater模块   3.2

DVWA之CSRF(跨站请求伪造)

坚强是说给别人听的谎言 提交于 2020-02-10 01:05:35
CSRF(Cross-site request forgery) CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用。而最常见的就是QQ空间的登陆。 low级别: 代码: <?php if( isset( $_GET[ 'Change' ] ) ) { // Get input $pass_new = $_GET[ 'password_new' ]; $pass_conf = $_GET[ 'password_conf' ]; // Do the passwords match? if( $pass_new == $pass_conf ) { // They do! $pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston

CSRF是什么?

北城余情 提交于 2020-02-09 15:28:29
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。 跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。 攻击细节 跨站请求攻击,简单地说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。 CSRF原理 下面一张图简单阐述了CSRF的原理 从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成以下两个步骤: 登录受信任网站A,并在本地生成Cookie。 在不登出A的情况下,访问危险网站B。 看到这里,你也许会问:“如果我不满足以上两个条件中的一个,我就不会受到CSRF攻击”。是滴,确实如此,但是你不能保证以下情况不会发生: 你不能保证你登录了一个网站之后,不再打开一个tab页面并访问其它的网站(黄网)。

Pikachu漏洞练习平台实验——CSRF(三)

感情迁移 提交于 2020-02-09 05:57:19
概述 CSRF 是 Cross Site Request Forgery 的 简称,中文名为 跨域请求伪造 在CSRF的攻击场景中, 攻击者会伪造一个请求(一般是一个链接) 然后欺骗目标用户进行点击,用户一旦点击了这个请求,这个攻击也就完成了 所以CSRF攻击也被称为“one click”攻击 攻击场景例子 lucy想要在购物网站上 修改购物地址 ,这个操作是lucy通过浏览器向后端发送了请求。 这个请求里面包含了lucy的新有货地址,如果是通过GET提交的,那么会以URL传参的方式的方式将新的地址提交给后台,类似上图中的URL, 相当于点了链接就能修改个人信息 。 如果这时候攻击者想要修改lucy的信息怎么办?那么他需要取得lucy的账号, 获得登录权限 。这时候他可以将修改个人信息的 请求伪造 一下,构造类似下图中的URL,引诱lucy在登录状态下进行点击,这样攻击就成功了。 CSRF攻击需要条件 ① 目标网站没有对修改个人信息修改的请求进行防CSRF处理,导致该请求容易被伪造 因此,判断一个网站有没有CSRF漏洞,其实就是判断对关键信息(密码等)的操作(增删改)是否容易被伪造 ② lucy点击伪造的请求链接时有登录状态(已经登陆了目标网站),如果lucy没有登录,那么即便lucy点击了链接也没有作用 从CSRF的利用条件来看,CSRF的利用难度会大一些

pikachu的csrf攻击

我的梦境 提交于 2020-02-09 05:52:17
一、get型csrf 1.首先登陆一下,lucy:123456 发现能够登陆 2.我们尝试修改一下个人信息并提交,同时利用BurpSuite抓包查看修改个人信息的请求内容,我们改一下地址 从提交的请求来看,后台没做CSRF token,同时也是通过GET请求来提交修改信息,我们拿到这个,修改一下,然后让lucy点击就好,我们构造的URL中把地址add改为hacker。lucy一点击就修改了地址。 3.GET请求修改个人信息,所有的参数都在URL中体现,这种方式使比较好利用的,我们只要能够伪造出来这个链接,把对应的参数内容修改成为我们需要的值,让带有登录态的用户去点击就完成了我们的攻击。 二、post型csrf 1、 如果是POST型的,所有参数在请求体中提交,我们不能通过伪造URL的方式进行攻击 这里的攻击方式跟XSS中POST类型是一样的,攻击者可以搭建一个站点,在站点上做一个表单,诱导lucy点击这个链接,当用户点击时,就会自动向存在CSRF的服务器提交POST请求修改个人信息。 在自己的机子上编写一个html文件 <html> <head> <script> window.onload = function() { document.getElementById("postsubmit").click(); } </script> </head> <body> <form