0x1 前言
我的拖延症真是没得救了,拖了这么久才写题解 ……
题目环境以及源码上传在https://github.com/NeSE-Team/OurChallenges/tree/master/XNUCA2019Final/awd1_with_exp
当被告知要出一个 reverse + web 的题目的时候,我的内心十分的拒绝,因为对逆向我实在是太差了,没有相关的经验,而事实证明我题目出的也是很烂,导致比赛一开始就被打开花了。
我的拖延症真是没得救了,拖了这么久才写题解 ……
题目环境以及源码上传在https://github.com/NeSE-Team/OurChallenges/tree/master/XNUCA2019Final/awd1_with_exp
当被告知要出一个 reverse + web 的题目的时候,我的内心十分的拒绝,因为对逆向我实在是太差了,没有相关的经验,而事实证明我题目出的也是很烂,导致比赛一开始就被打开花了。
“此漏洞非常的棒,特别是利用写的非常的精妙,可以作为二进制结合web的漏洞利用的典范,非常值得思考和学习”,phithon师傅说。
同时也是因为本人也是对结合二进制的web漏洞比较感兴趣,觉得比较的好玩,所以就自己学习和分析一波,如果哪里分析的不对,希望大家可以及时的提出斧正,一起学习进步。
对这个漏洞原理有所了解,但是想更加深入理解怎么利用的,建议直接看第五节
避免博客长草,水一篇文章,这篇文章中主要讲一个在前端中出现的有意思的变量劫持漏洞。
国际赛就是好玩,这两个web题目都还挺有意思的,目前还没有官方的writeup放出,只放出了exp
https://gist.github.com/junorouse/ca0c6cd2b54dce3f3ae67e7121a70ec7 ,感兴趣的可以去看看这个两个题目。
minhook是一个inline Hook的库,同时支持x32和x64系统,并且是开源的,地址在这里https://www.codeproject.com/Articles/44326/MinHook-The-Minimalistic-x-x-API-Hooking-Libra。下面就简单的分析一下它的工作过程。
我需要使用一个mini的反汇编引擎嵌入我的C项目中,能够做简单的指令分析工作,帮我区分操作码和数据。发现国外大佬写的Hacker_disassembler_engine很满足我的需求,但是奈何我看不懂啊,不得不学习一下intel的opcode,于是有了下文。
最近在做一个东西,有少部分的代码需要用汇编写,大部分都是c语言实现,而且还是x64的程序。配置单独的masm开发环境,独立编译然后链接过来,真实太费劲了,所以就想直接用visual studio吧。
vs上64位的编译器不支持内敛汇编了,只能写成单独的asm文件,然后独立编译。下面就介绍怎么让让vs2015上让项目支持对asm文件进行编译。
最近有点忙,所以拖了这么久才来复现这个题目,题目官方已经给了wp和docker环境,https://github.com/eboda/35c3/可以本地搭建一下。