TrampolineHook 学习笔记
前言 最近看到了一个有趣的项目:TrampolineHook (opens new window),一个中心重定向框架,简单来讲可以用于拦截指定函数,在函数被调用时,收到一个回调通知。这个项目没有使用常用的方法交换方案,而是选择汇编实现。非常 amazing 啊,让我对其实现的原理感到好奇。边学习相关知识,边阅读源码,有了初步的理解。 才疏学浅,有误内容还请多多指正。 本文内容相对最新源码有一定的过时,但不妨碍理解核心思路,本文对应的源码可以在 https://github.com/SatanWoo/TrampolineHook/tree/5c161aae9fe2826fd9660029bd5ab5a5eec183e9 (opens new window) 访问。 本文描述版本存在栈污染,详细的描述您..
更多隐私保护 - 使用多个匿名手机号
如今拿手机号注册个网站,我们的手机号可能会被卖到各种地方。结果每天收到垃圾短信、骚扰电话。 注册一些备用手机号能有效解决这个问题。(当然了已经卖出去的没啥办法了,但仍然可以给现有账号换绑手机号。) 本文给出了我使用的手机号方案,操作起来不算复杂,使用也还方便,持有成本也低。 # 阿里小号 号码地区:中国 +86。 注册难度:低,下载 App 使用淘宝账号登录即可。 功能介绍:可以在 App 内收发短信,收到的电话会转拨到真实手机号。 持有成本:20/元/年。 使用体验:尚可,可以直接注册国内绝大部分网站,App 内收短信可以跨设备使用。但各种广告仍然会发送到阿里小号中。 阿里提供的小号注册,一个账号可以绑定两个小号。目前我买了一个使用。 # Google Voice 号码地区:美国 +1。 注册难度:一般..
更多使用虚拟机绕过 Windows Samba 客户端端口限制
背景迫于不能浪费宿舍联通宽带的公网 IP,我用树莓派搭建了一个 NAS,使用 Samba 提供访问。但是,由于运营商限制,入站和出站的 139、445 端口都被封禁(对!你不能访问其他机器的 445 端口!),这样做只能让同一个局域网的服务访问。我尝试修改了端口号,把本地的 445 端口映射到公网的其它端口,算是可以给大部分 Samba 客户端使用了(比如安卓手机)。但是,Windows 的 Samba 客户端,并不支持设置端口号(如果在文件管理器地址栏输入 \\a.b.c.d:xxx 将会被认为是 WebDAV 协议)。网上某些教程说,在 Windows 本地设置端口转发,把访问本机 445 端口的流量转发至你的 Samba 服务器端口。但是,这样做需要关闭 Windows 自己的 Samba 服务器,..
更多Plaid CTF 2020 Catalog
本文是关于 Plaid CTF 2020 Catalog 题目的一些复盘与探究。这道题是本次 PlaidCTF 全场唯一一道0解的题目,可以说是有一定的难度的,也比较有意思。这里非常感谢 @wupco @rebirthwyw @bks25wzsx(众所周知,@zsx 又名 @bks25wzsx)师傅们的指点,复盘的时候比较艰难,整个流程我会尽量用自己还算比较清晰的逻辑讲一下本道题,如果哪里有出错的还请师傅们多多包涵。由于这个题是复盘题,所以做题思路可能会少一些,更多的是对于出题点以及exp一些分析什么的。{% colorquote danger %}5月6日更新:作者已经放出了他的 Write Up——PlaidCTF 2020: Catalog Writeup ,题目仓库—— catalog ,文中内容..
更多Plaid CTF 2020 Contrived Web Problem Write Up
Here is my write up of Contrived Web Problem in Plaid CTF 2020.[TOC]TL;DRYou can get the attachment of the chall in this repo.You can find CRLF in ftp then use CRLF to inject ftp command.You can use PORT command to build a TCP connection with rabbitmq server.Make a HTTP message which can let the nodemailer send a email containing the flag as a attachment ..
更多使用 Dom Clobbering 扩展 XSS
前几天 PortSwigger 发布了 Top 10 web hacking techniques of 2019,榜上的攻击技术都比较有意思,p牛也肯定会在小密圈做分享的(如果没有话本菜也会在自己博客做做学习分享),所以我们这里就不聊 Top 10 技术了,就看看在 Top 10 提名结果没上榜但是依旧很有意思的技术 Dom Clobbering。文章首发于先知社区:https://xz.aliyun.com/t/7329BasicsFrom MDN Web Docs: The Document Object Model (DOM) is a programming interface for HTML and XML documents. It represents the page so that..
更多30s 源码刨析系列之函数篇
由浅入深、逐个击破 30SecondsOfCode 中函数系列所有源码片段,带你领略源码之美。前言本系列是对名库 30SecondsOfCode 的深入刨析。本篇是其中的函数篇,可以在极短的时间内培养你的函数式思维。内容根据源码的难易等级进行排版,目录如下:新手级普通级专家级正文新手级checkProp12345678910111213141516171819const checkProp = (predicate, prop) => obj => !!predicate(obj[prop]);const lengthIs4 = checkProp(l => l === 4, 'length');lengthIs4([]); // falselengthIs4([1, 2, 3, 4])..
更多手撸一个静态文档生成器[译]
目前有很多优秀的静态文档生成器,它们的工作原理比你想象的要简单得多。前言原文: Build a static site generator in 40 lines with Node.js作者: Douglas Matoso翻译许可: image img 为什么要造这个轮子当我计划建立个人网站时,我的需求很简单,做一个只有几个页面的网站,放置一些关于自己的信息,我的技能和项目就够了。毫无疑问,它应该是纯静态的(不需要后端服务,可托管在任何地方)。我曾经使用过Jekyll, Hugo和Hexo这些知名的静态文档生成器,但我认为它们有太多的功能,我不想为我的网站增加这么多的复杂性。所以我觉得,针对我的需求,一个简单的静态文档生成器就可以满足。嗯,手动构建一个简单的生成器,应该不会那么难。正文需求分析..
更多XSS GAME
过年期间玩了一下国外的一个 XSS GAME,收获颇丰,记录一下学习过程。本人对于 JavaScript 以及前端的理解不深,水平也不高,如果文章有疏漏之处,还请师傅们斧正。Introduction所有题目的目标都是实现alert(1337)即可,有着不同的难度Area 51<!-- Challenge --> <div id="pwnme"></div> <script> var input = (new URL(location).searchParams.get('debug') || '').replace(/[\!\-\/\#\&\;\%]/g, '_'); var template = document.createEl..
更多使用阿里云 ECS 搭建廉价的高性能云桌面
要想读懂本文,你需要:了解阿里云等云服务的基本 WEB 界面操作;了解 Windows 操作系统的中阶操作;了解基础的软件开发术语。前言本文面向的是需要使用高性能计算设备,但是身边只有低性能PC机的群体。最近由于 NCP 疫情,出不了门,返回不了工作地,想必不少人的高性能计算设备(好电脑)没带回家,但是,肯定也有人跟我一样,受不了笔记本电脑的龟速。我的配置需求是,能够流畅运行安装多个插件的 VSCode、能够同时打开数十个 Firefox 标签页、能够快速完成 node 项目构建。但是我身边只有一台五年前的 intel NUC (i3-4010U, 4GB RAM)。在详细了解了各大云服务商的云计算平台后,个人排除了华为云(弹性计算服务价格较高、云桌面售罄)、腾讯云(云计算服务类别过少)、天翼云(云桌面需..
更多