java csrf漏洞修改不修改页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java csrf漏洞修改不修改页面相关的知识,希望对你有一定的参考价值。

1.csrf知识

CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

常见的解决方法:

Cookies Hashing:每一个表单请求中都加入随机的Cookie,由于网站中存在XSS漏洞而被偷窃的危险。

HTTP refer:可以对服务器获得的请求来路进行欺骗以使得他们看起来合法,这种方法不能够有效防止攻击。

验证码:用户提交的每一个表单中使用一个随机验证码,让用户在文本框中填写图片上的随机字符串,并且在提交表单后对其进行检测。

令牌Tocken:一次性令牌在完成他们的工作后将被销毁,比较安全。

2. 在jsp 表单中产生一个加密随机数,传入到serlet中进行验证。

解决方法如下:

1. 产生随机数。

<%

SecureRandom random=SecureRandom.getInstance("SHA1PRNG");

long seq=random.nextLong();
String random=""+seq;
session.setAttribute("random_session",random);

%>

2. 使用隐藏域传递比较值。

<input type="hidden" name="random_form" value=<%=random%>></input>

3. servlet控制器获取参数比较。
参考技术A 1.csrf知识

CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

常见的解决方法:

Cookies Hashing:每一个表单请求中都加入随机的Cookie,由于网站中存在XSS漏洞而被偷窃的危险。

HTTP refer:可以对服务器获得的请求来路进行欺骗以使得他们看起来合法,这种方法不能够有效防止攻击。

验证码:用户提交的每一个表单中使用一个随机验证码,让用户在文本框中填写图片上的随机字符串,并且在提交表单后对其进行检测。

令牌Tocken:一次性令牌在完成他们的工作后将被销毁,比较安全。

2. 在jsp 表单中产生一个加密随机数,传入到serlet中进行验证。

解决方法如下:

1. 产生随机数。

<%

SecureRandom random=SecureRandom.getInstance("SHA1PRNG");

long seq=random.nextLong();
String random=""+seq;
session.setAttribute("random_session",random);

%>

2. 使用隐藏域传递比较值。

<input type="hidden" name="random_form" value=<%=random%>></input>

3. servlet控制器获取参数比较。
参考技术B 1.csrf知识

CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

常见的解决方法:

Cookies Hashing:每一个表单请求中都加入随机的Cookie,由于网站中存在XSS漏洞而被偷窃的危险。

HTTP refer:可以对服务器获得的请求来路进行欺骗以使得他们看起来合法,这种方法不能够有效防止攻击。

验证码:用户提交的每一个表单中使用一个随机验证码,让用户在文本框中填写图片上的随机字符串,并且在提交表单后对其进行检测。

令牌Tocken:一次性令牌在完成他们的工作后将被销毁,比较安全。

2. 在jsp 表单中产生一个加密随机数,传入到serlet中进行验证。

解决方法如下:

1. 产生随机数。

<%

SecureRandom random=SecureRandom.getInstance("SHA1PRNG");

long seq=random.nextLong();
String random=""+seq;
session.setAttribute("random_session",random);

%>

2. 使用隐藏域传递比较值。

<input type="hidden" name="random_form" value=<%=random%>></input>

3. servlet控制器获取参数比较。

DVWA-1.9教程之通过XSS漏洞与CSRF漏洞修改用户密码


本节主要内容

分析DVWA中的CSRF模块安全级别为“high”的漏洞。
注意:设置Security Level为“high”。
首先,需要通过XSS漏洞获取“user_token”
然后,通过CSRF漏洞修改用户密码



长按识别二维码关注我们

以上是关于java csrf漏洞修改不修改页面的主要内容,如果未能解决你的问题,请参考以下文章

CSRF漏洞防御方法

利用BURPSUITE检测CSRF漏洞

入坑小白的CSRF漏洞验证

CSRF漏洞笔记

CSRF漏洞利用(实战篇)

从漏洞复现到代码审计,深入学习csrf漏洞原理