跨域CORS资源&JSONP回调&域名接管劫持

新的知识点

一、CORS:
它和CSRF很像。CSRF可以操作数据包,但是CORS只能获取当前页面的资源。CSRF如果防御方配置同源策略的话就会不起作用。


#知识点:

1、子域名接管-检测&探针&利用

2、CORS跨域资源-检测&探针&利用

3、JSONP跨域回调-检测&探针&利用

#前置知识点:

-同源策略(SOP)-“同源”包括三个条件:同协议 同域名 同端口

同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互,这是一个用于隔离潜在恶意文件的关键的安全机制.简单说就是浏览器的一种安全策略。

虽然同源策略在安全方面起到了很好的防护作用,但也在一定程度上限制了一些前端功能的实现,所以就有了许多跨域的手段。

-子域名接管:

域名解析记录指向域名,对应主机指向了一个当前未在使用或已经删除的特定服务,攻击者通过注册指向域名,从而控制当前域名的控制权,实现恶意软件分发、网络钓鱼/鱼叉式网络钓鱼、XSS 、身份验证绕过等。子域名接管不仅仅限于CNAME记录,NS,MX甚至A记录也会受到影响。

检测项目:

https://github.com/pwnesia/dnstake

https://github.com/anshumanbh/tko-subs

https://github.com/mhmdiaa/second-order

https://github.com/r3curs1v3-pr0xy/sub404

https://github.com/Echocipher/Subdomain-Takeover

-CORS跨域资源

CORS全称Cross-Origin Resource Sharing, 跨域资源共享,是HTML5的一个新特性,已被所有浏览器支持,跨域资源共享(CORS)是一种放宽同源策略的机制,它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制,以使不同的网站可以跨域获取数据。

Access-Control-Allow-Origin:指定哪些域可以访问域资源。例如,如果requester.com想要访问provider.com的资源,那么开发人员可以使用此标头安全地授予requester.com对provider.com资源的访问权限。

Access-Control-Allow-Credentials:指定浏览器是否将使用请求发送cookie。仅当allow-credentials标头设置为true时,才会发送Cookie。

Access-Control-Allow-Methods:指定可以使用哪些HTTP请求方法(GET,PUT,DELETE等)来访问资源。此标头允许开发人员通过在requester.com请求访问provider.com的资源时,指定哪些方法有效来进一步增强安全性。

检测项目:https://github.com/chenjj/CORScanner

-JSONP跨域回调

JSONP跨域巧妙的利用了script标签能跨域的特点,实现了json的跨域传输。

检测项目:手工审查元素筛选或Burp项目

https://github.com/p1g3/JSONP-Hunter


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注