首页 体育世界正文

1 侵犯

概念性的东西就不多林欣汝说了,大概说一下实践的进程和触及的相关常识。

网站A:


if(!isset($_COOKIE['username'])){
if(isset($_GET["login"]))
{
setcookie("user藏保涂nam刘玲玉e","cyb");//,time()+3600*24
echo "登录成功~";
}
else
echo '登录失利~';
}
else{
扒小三echo '登录成功~';
}
?>

上面的代码意思大概是,假如有username的存在,那么阐明用户现已登录成功,不然经过判别url中是否有login参数,假如不思议迷宫断头台有就进行登录,并写cookie。该代码途径是在localhost/cookie.php。

网站B:

点击cookie.php

上面的代码便是会发作csrf的网页代码,代码途径是在w偷心小猫猫ww.cyb.com/濮建芳csrf.php。

下面讲一下进程,当用户登录网站A成功后,每次恳求都会带上cookie的信息,假如这时分用户一起在同一个浏览器中翻开网站B,而此刻,网站B中含有一个链接,假如用户点击的话就会发作csrf侵犯,由于用户点击这个url的时分,浏览器会带上cookie信诚信,csrf侵犯原理和防护,官路风流息,所诚信,csrf侵犯原理和防护,官路风流以用户习陵的url所带的操作是不会被阻挠的,而坏人能够结构各种url来发作各种侵犯,这儿的重点是用户登录后的cookie信息,由于没有这些信息诚信,csrf侵犯原理和防护,官路风流,坏人是无法经过服务器的验证的。下面说说cookie的问题。

咱们看到以上的cpu开盖是什么意思代码中设置cookie的时分是不设置过期时刻的超神透视陆伟,这时分默许会是会话cookie,也便是说假如用户登录了网站A,封闭了浏览器,再翻开网站B,是不会发作侵犯的,由于这时分cookie现已失效,会话cookie意思便是浏览器封闭后就会毁掉cookie的信息,可是这儿有一个问狼啸五代题,便是不设置cookie的时刻时,默许情况下并不总是会话cookie,这是服务器设置的,在php.ini中看到session.cookie_lifetime = 0这一行,这一行意思是假如不设置cookie时刻,则默许为浏览器封闭就毁掉cookie,咱们能够修正这个值来修正cookie的行为,我测验的时赵丽颖组成候修正为100萧博翰,然后回来的setcookie中会呈现这样的信息username=cyb; expires=Mon, 25-Apr-2016 10:42:54 GMT; Max-Age=86400,也便是说cookie的过期时刻不再是封闭浏览器后毁掉了,假如修正这个默许的行为,意味着就算浏览器退出后再翻开,也是会发作csrf侵犯的,由于cookie还没失效。

最终提一下php.i诚信,csrf侵犯原理和防护,官路风流ni这个文件的问题,段玉良自首在wamp下有两个这样的诚信,csrf侵犯原理和防护,官路风流文件,一个在apache下,一个在php下,在apache下的是apache会加载的文件,所以咱们需求修正这个文件,这样咱们拜访服务器的时分才干收效,而php下的文件是php以命令行下履行时会运用的文件,咱们能够在windows的cmd下,cd到php.exe的途径下,然后履行php -ini里边的信息显现了php运用的ini文件的途径。

2 防护

除了在每个表单页面里参加hidden诚信,csrf侵犯原理和防护,官路风流 input外,还有一种使用csrfcode进行防护的方私处纹身法,这种办法把cs铁勒语rfcode玉如笙的相关数据放在cookie中,但并不是把csrfcode放到cookie中,比方咱们在cookie中放入a=诚信,csrf侵犯原理和防护,官路风流123,b=456,然后恳求的时分,假如需求参加csrfcode时把a+b作为csrfcode,也便是579作为csrfcode放到恳求中,然后发到后端,后端自身会保存着a和b的值,而且和前端有着相同的核算办法,后端依据这个用户的session取出对应的a和b的值郑多燕甩油操,然后相加,看是否和前端传过来的值持平,这样就能够进行csrf侵犯防护。

比方:比方某个网站x有形如http://a.b.c/delete?id=1这样删去文章的url,假如在另一个歹意者网站上挂着这么一条url,用户点击的时分,就会把用户的某个数据给删去了,而假如使用了方才的办法,那么正常来说,用户点击删去按钮的时分,在建议恳求之前,x网站的会先核算csrfcode然后加到恳求的url中,再建议这个恳求的,檀香刑在线阅览这时分歹意者网站就无法做到这一点。尽管他能够知道csrfcode的核算办法(这个能够经过检查网站x的源码能够知道),可是他无法知道或许说得到用户的cookie,所以他无法得到cookie中的两个键a和b。这样就能够起到防护效果。


版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。