Cyrus Blog

FLAG{S0_H4PPY_C_U_H3R3} (>.<)

Clair scanner 源码分析和二次开发

本文是对 Clair 开源客户端 Clair scanner 源码分析,而非对 Clair 本身(Server 端)进行分析。关于 Clair 本身我推荐看看这个。 利用 docker-compose 可以快速构建 Clair 服务端,而 Clair scanner 则是一个简单易用的客户端,我们可以基于此开发一系列自己需要的功能。这里本文 Clair scanner 源码结构进行简单分析,介绍一些编译过程中可能会遇到的小问题,但是出于工作内容原因不会给出二次开发的案例。 源码编译 二次开发自  阅读全文

Linux 环境自编译安装高版本 Golang

由于 Ubuntu APT 安装的 Golang 可能版本过低,(以及其他发行版的包管理工具也会如此)以下脚本用于在 Linux 系统安装高版本 Golang。 安装前建议移除任何版本 Golang,清除相关的 GOPATH GOROOT 等环境变量。 Golang 从 >= 1.4 开始支持自编译,即使用 Golang 来编译 Golang。可以在 这里 寻找任何你想要的版本,替换掉脚本中的 1.11.6。 本脚本不会对环境造成严重影响,但是会移除存在的 Golang 版本。可以在运行目  阅读全文

在字节跳动谈 996.icu

从离职经历说起 离开上一家公司并不是意味着上一家公司对我有不优,10-7-5 配上有竞争力并且有上涨空间的实习薪资,还有五环外的低廉房租都令人怀念。从前同事口中,以及离职后的一些消息中,或许公司正在经历着中小型往大型的转型阵痛期,在规则和管理上有一些小问题。——不枉费我在拿了新 Offer 后做的七十多个小时的财报研究和行情分析,作为略自私的我,我当然觉得不必随公司经历这些问题挺好的;同时我也希望自己写的辣鸡代码会被人接下去(x,good luck with that! 虽然似乎因为大二半年离  阅读全文

分布式入门0&1:系列目录 & CAP 原理和 Paxos 算法

2018 年 1 月,比特币从最高点开始下跌,本文初创于这段时间。由于种种原因,咕了一年,到了 2018 年底依旧没有写完。新年即将来临之际,我对文章内容进行了重新编排。将会按照以下顺序依次展开: CAP 原理和 Paxos 算法, 从 BFT 到 PBFT, 从 Raft 和 ZAB 再看 Paxos 分布式系统事务一致性(待定), 分布式负载均衡算法(待定). 这一顺序是我的学习(和未来填坑)的顺序,我是偶然接触到 Paxos 从而接触到分布式的。 大部分相关系列文章会将 Paxos/R  阅读全文

使用 acme.sh 为全站更新 HTTPS

0x00 acme 基本使用技巧 Step1:获取acme.sh脚本: 1curl https://get.acme.sh | sh 本文没有配置反代的情形,也不涉及泛解析。Hexo 的 blog 是直接在生成的静态目录下通过 Apache 调用的。 Step2:需要手动建立给apache存放凭据的目录,任意目录均可,需要和下文一致: 1mkdir /etc/apache2/ssl/ Step3:启用相关模块: 123ln -s mods-available/ssl.load mods-en  阅读全文

Channel, goroutine 和 os/exec

最近有一个需求,用 Golang 执行一条命令,并且需要为该命令设置一定时间的 timeout。由此展开,我们从执行一条基本的 shell 命令开始,逐渐研究黑魔法。 0x00 前言 本文我们假设没有任何前置知识,可放心食用。 正好昨天面试问到了 Go-routine 的相关原理问题,以及 CSP 相关概念问题。开篇先 diss 一波这位面试同学,感觉非常学院派,不是很懂问一个安全算法岗 Engineer 而不是 Researcher 这些问题的意义,一个初阶 user 是肯定不知道 CSP   阅读全文

解决MacOS自带Apache Incompatible library version 报错

解决范围 报错 各种原因为 Incompatible library version 的报错 PHP版本 7.x 可适用于任何相关报错 macOS版本 macOS High Sierra, 10.13.4 (17E199) 经测试可适用于 10.12 通常 10.14 没有这个报错问题,如遇到请谨慎解决 解决方案 brew install -s php70 在 sudo apachectl configtest 显示 Syntax OK 的情况下可以忽略编号为 AH00558 的  阅读全文