CSRF漏洞
CSRF全称:Cross-site request forgery,即,跨站请求伪造,也被称为 “One Click Attack” 或 “Session Riding”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。举个生活中的例子:就是某个人点了个奇怪的链接,自己什么也没输,但自己的qq号或其他的号就被盗了。即该攻击可以在受害者不知情的情况下以受害者名义伪造请求,执行恶意操作,具有很大的危害性。
CSRF的攻击过程两个条件:
1、目标用户已经登录了网站,能够执行网站的功能。
2、目标用户在登录情况下访问了攻击者构造的URL。
CSRF安全问题黑盒怎么判断:
1、看有没有验证来源
2、看凭据有没有token
3、看关键操作有没有验证
修复:把上述三点变成有即可
CSRF安全问题白盒怎么审计:
同黑盒思路一样,代码中分析上述三看
漏洞利用流程:
1.获取目标敏感操作的触发数据包
2.利用抓包工具构造导出数据包
3.诱使目标访问特定地址触发
案例:CSRF-后台自动添加管理员
案例配置:Metinfo6.0源码搭建的网站,抓取数据包的工具:CSRFTester
案例说明:小黑子在登录后台管理自己网站的时候,突然有人给小黑子说有少妇视频,随后给小黑子发了个URL链接,小黑子直接点了进去,GG!
目标:小黑子的网站
收集到信息:Metinfo6.0源码,小黑子的联系方式
攻击者动作:搭建一个Metinfo6.0源码的网站,使用CSRFTester工具在后台抓取添加管理员用户的数据包
打开抓包工具:默认监听端口8008,浏览器配置代理为127.0.0.1:8008 。点击Start Recording开始抓包
网站后台添加管理员,点击保存
工具成功抓取数据包,将其保存为html文件
打开文件,将文件中选中部分不是添加管理员请求的数据包删除
将文件放置到能让小黑子访问到的服务器下,加小黑子好友,将地址链接发送给小黑子,告诉小黑子是少妇视频。
本来小黑子的管理员用户只有一个admin,结果小黑子顶不住诱惑点击了链接。
小黑子成功触发了添加管理员的请求,管理员就突然多了一个叫xiaoheizi的用户
攻击者使用xiaoheizi用户成功登录了色鬼小黑子的后台
成功登录
点击传统后台,成功进入小黑子的后台首页
SSRF漏洞
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等
产生条件:当前功能点利用服务器去解析用户提交的资源
SSRF黑盒漏洞挖掘:
1.社交分享功能:获取超链接的标题等内容进行显示
2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.在线翻译:给网址翻译对应网页的内容
4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
8.数据库内置功能:数据库的比如mongodb的copyDatabase函数
9.邮件系统:比如接收邮件服务器地址
10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞
一些url中的关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……
12.从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)
SSRF白盒可能出现的地方:
1、功能点抓包指向代码块审计
2、功能点函数定位代码块审计
SSRF常见安全修复防御方案:
1、禁用跳转
2、禁用不需要的协议
3、固定或限制资源地址
4、错误信息统一信息处理
案例说明:小黑子在本地创建了远程图片文件加载应用,直接被攻击者利用SSRF探针本地服务
该功能本来是小黑子给用户远程加载图片用的,但是由于没有做好过滤,被攻击者利用。
当用户输入url时,小黑子的服务器会去请求url的数据显示。
攻击者直接把url设置为本地地址让小黑子的服务器请求数据,达到本地服务探针
攻击者输入url:127.0.0.1:80
成功探针出小黑子在本地80端口搭建了一个网站
攻击者输入url:127.0.0.1:3306探针mysql服务信息
还可以使用file协议读取小黑子的本地文件
攻击者输入:file:///D:www.txt成功读取D盘下的www.txt文件
攻击者还可以利用ssrf漏洞进行内网探针和木马下载等
原文始发于微信公众号(小黑子安全):跨站请求伪造-CSRF+SSRF
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论