CSRF定义
CSRF全称:Cross-site request forgery,即,跨站请求伪造,也被称为 “One Click Attack” 或 “Session Riding”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
举个生活中的例子:
1、就是某个人点了个奇怪的链接,自己什么也没输,但自己的qq号或其他的号就被盗了。即该攻击可以在受害者不知情的情况下以受害者名义伪造请求,执行恶意操作,具有很大的危害性。
2、当你在淘宝进行支付时,扫码支付整个过程的包黑客会伪造打包,当你支付的时候,给你发送一个链接,整个网站跟你支付的页面一模一样,当你警惕性不高的话,你就会支付成功,成功盗取你的money。
CSRF的攻击过程两个条件:
1、目标用户已经登录了网站,能够执行网站的功能,比如有网页的最高权限。
2、目标用户访问了攻击者构造的URL。
本地CSRF测试
利用流程:
1、获取目标的触发数据包
2、利用CSRFTester构造导出
3、诱使受害者访问特定地址触发
利用工具抓取 添加用户功能的数据包
注意:owasp csrft默认端口为8008
OWASP-CSRFTester-1.0工具,找不到下载地址可以Q我 502057080
保存相关的数据包
这是弹出一个url 127.0.0.1 地址,用户点开之后
于是神不知鬼不觉的加入了管理员,从而也拿到了管理员权限
数据包解释:只要点击URL,自动添加用户名 lws 密码 lws
CSRF安全问题黑盒怎么判断:
-
看验证来源 referer(同源策略)
同源策略如何判断:
直接访问(任何来源)==子页访问(本网站主页跳转) 无同源策略
直接访问(任何来源)!=子页访问(本网站主页跳转) 有同源策略
无同源策略可以进行referer伪造
2、看凭据有无token
-
看关键操作有无验证
安全加固:增加refer限制访问来源,顾名思义就是只允许本地网站来源进行操作
攻击手段:refer伪造
实验开始
跟之前封包是一样的
代码审计 发现存在referer来源检测
封包
通过burp发包的过程中修改referer
修改成功
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如何探针内网地址:
burp抓包
找到内网地址
SSRF代码审计
功能点导致了漏洞:采集添加-测试-抓包-远程请求资源操作(函数)
函数-功能:file_get_contents
漏洞寻找:1.特定漏洞功能→代码段分析审计
2.特定函数漏洞->测试对应功能判断