1、CSRF概念和原理
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
案例:服务器上搭建一个网页,里面写一个访问就能发送数据包的js,这个数据包能对用户进行一系列操作(修改用户账号密码、添加管理员账号,打款等,具体操作要看用户登录在哪个页面)。用户在登录某个应用的界面时,打开另一个界面访问我们服务器的网页,这样就会发送和登录应用界面相对应的数据包,执行一些我们想要的操作。
2、防御方案
1)、当用户发送重要的请求时需要输入原始密码
*2)、设置随机roken
3)、检验referer来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)
4)、设置验证码
5)、限制请求方式只能为POST
3、SSRF概念和原理
SSRF(Server-Side Request Forgery:服务器端请求伪造)
目标:从外网无法访问的内部系统
原因:由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制
4、SSRF挖掘
➊从WEB功能上寻找
1)分享:通过URL地址分享网页内容
2)转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3)在线翻译:通过URL地址翻译对应文本的内容。提供此功能的国内公司有百度、有道等
4)图片加载与下载:通过URL地址加载或下载图片
5)图片、文章收藏功能
6)未公开的ap实现以及其他调用URL的功能
❷从URL关键字中寻找
share
wap
link
srC
source
target
3g
display
sourceURI
imageURL
domain
5、验证
1)基本判断(排除法)
burpsuite抓包
右键打开图片