/CSRF/
攻击:
在浏览器中插入了 “恶意链接” ,并在用户访问之时让用户访问,达到使用用户的cooikes达到连接指定服务器客户的的验证信息,并进行一些简单的操作。
比如: <src img = ‘http://xxx.com/?active=post&money=100’ >
防御:
最简单的,可以通过验证cookies进行一些防御。例如在用户操作验证中,判断是否又cookies传过来,如果没有则是恶意链接。
但这个方法容易通过XSS获取cookies绕过。
可以通过防外链。
代码:
_httpd.conf —>_
SetEnvIfNoCase Remote_Addr “(*ip)” local_ref=1
<FilesMatch “.(*)”>
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
*OR*
_.htaccess_
RewriteEngine on
RewriteCond %{HTTP_REFERER} !(*域名) [NC]
RewriteRule .(*)$
[R,NC,L]
/XSS:/
攻击:
与CSRF相似,但XSS更在于对浏览器的攻击。
例如 获取 用户的cookies,进行伪造攻击
对网站插入恶意链接,例如插入 bt5 的brower_autopwn
进行CSRF攻击
主要思路,绕过 script 的检测,比如通过html 的event ,如 body的onload=“alert(‘..’)”;
但有些更机智会替换,这时候可以用ascii码进行防过滤
String.fromCharCode()
charCodeAt() 将文本转换为ascii码
防御:
preg_replace(‘/<(.*)s(.*)c(.*)r(.*)I(.*)p(.*)t(.*)/I’ , ‘’);
htmlspecialchars($str)
过滤关键字 fromCharCode
Cookies
攻击:
恐怕中间人,XSS等方法,捕捉到用户的Cookies,然后伪造自己的cooikes,达到拥有访问权限
防御:
开启 httponly 让 js 无法读取 cookies 。
Php开启 方法 <?php ini_set("session.cookie_httponly", 1);
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
php 5.1 以前
header("Set-Cookie: hidden=value; httpOnly");
攻击:
在浏览器中插入了 “恶意链接” ,并在用户访问之时让用户访问,达到使用用户的cooikes达到连接指定服务器客户的的验证信息,并进行一些简单的操作。
比如: <src img = ‘http://xxx.com/?active=post&money=100’ >
防御:
最简单的,可以通过验证cookies进行一些防御。例如在用户操作验证中,判断是否又cookies传过来,如果没有则是恶意链接。
但这个方法容易通过XSS获取cookies绕过。
可以通过防外链。
代码:
_httpd.conf —>_
SetEnvIfNoCase Remote_Addr “(*ip)” local_ref=1
<FilesMatch “.(*)”>
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
*OR*
_.htaccess_
RewriteEngine on
RewriteCond %{HTTP_REFERER} !(*域名) [NC]
RewriteRule .(*)$
[R,NC,L]
/XSS:/
攻击:
与CSRF相似,但XSS更在于对浏览器的攻击。
例如 获取 用户的cookies,进行伪造攻击
对网站插入恶意链接,例如插入 bt5 的brower_autopwn
进行CSRF攻击
主要思路,绕过 script 的检测,比如通过html 的event ,如 body的onload=“alert(‘..’)”;
但有些更机智会替换,这时候可以用ascii码进行防过滤
String.fromCharCode()
charCodeAt() 将文本转换为ascii码
防御:
preg_replace(‘/<(.*)s(.*)c(.*)r(.*)I(.*)p(.*)t(.*)/I’ , ‘’);
htmlspecialchars($str)
过滤关键字 fromCharCode
Cookies
攻击:
恐怕中间人,XSS等方法,捕捉到用户的Cookies,然后伪造自己的cooikes,达到拥有访问权限
防御:
开启 httponly 让 js 无法读取 cookies 。
Php开启 方法 <?php ini_set("session.cookie_httponly", 1);
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
php 5.1 以前
header("Set-Cookie: hidden=value; httpOnly");