零、前言
最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件、底层安全、漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的payload技巧以便于备忘。不是大神、博客内容非常基础,如果真的有人看而且是大牛们,请不要喷我,欢迎指正我的错误(水平有限)。
一、CSRF:
1、本质:
攻击者可以完整的猜测出请求所需要的所有必须字段,诱骗正常用户点击,从而可以达到利用用户的身份完成请求操作的目的。
2、cookie的特点:
(1)第三方cookie或称永久cookie,浏览器会发送(有些也不会发送,看浏览器类型和版本),受害者无需处于目标系统登录状态。
(2)暂时性cookie,浏览器一般都会发送,受害者必须处于目标系统登录状态。
3、核心:
可以让攻击者猜测出完整的必须参数值,从而构建请求,且用户点击,利用了用户cookie伪装身份。而且目标系统对跨域请求没有验证。
4、防御:
(1)验证referer,最简单但是效果一般,攻击者可以通过构造目录路径或者注册域名等方法绕过。
(2)动态token,token放在头部某字段最好,放在post或者get数据中也可以,但是不能放在cookie中。要变,不能让攻击者猜测出规律,或者不能通过其他方式比如api获取。
(3)敏感操作弹验证码,终极防御手段。
(4)X-Request-With:XMLHttpRequest头部属性导致CSRF失败:参看我自己的博客记录http://www.cnblogs.com/KevinGeorge/p/7701153.html
二、SSRF:
1、本质:
用户可以控制服务器发起请求,从而达到打穿内网,绕过ACL等目的。
2、SSRF可以利用多种协议:
(1)HTTP、HTTPS
(2)FTP
(3)SMB
(4)FILE伪协议
(5)TELNET、SSH
(6)GOPHER
(7)...
3、常见发生位置: