- 博客(16)
- 收藏
- 关注
原创 0ctf freenote
整理结构体程序首先初始化了了chunklist,此题的chunklist是在堆里面分配的 一个指针指向了malloc(0x1810)的头,此段空间的前16字节分别是最大堆块的值和当前堆块数量 大概结构体如下图 1234567 0000000000000000 headptr struc ; (sizeof=0x1810, a...
2018-09-21 11:50:39
668
原创 网鼎杯 babyheap
网鼎杯第一场程序功能:新建,编辑,打印,free free处没有置空指针,导致可以uaf malloc每次都是0x20的fastbin,编辑功能可以使用3次 自写了readn函数,没有溢出点 edit可以修改free后堆块的bk,fd 12345 Arch: amd64-64-littleRELRO: Full RELROS...
2018-09-21 11:49:18
892
原创 网鼎杯半决赛pwn3
整理结构体主menu的chara结构体 12345 00000000 chara struc ; (sizeof=0x18, align=0x8, mappedto_7)00000000 inuse dq ?00000008 name_ptr dq ?00000010 type ...
2018-09-21 11:48:28
404
原创 网鼎杯半决赛 pwn1
一个短信系统定义了两个结构体,分别如下,一个是用户信息的结构体,一个是信息结构体 123456789101112131415161718 0000000000000000 message struc ; (sizeof=0x18, align=0x8, mappedto_6)00000000 title ...
2018-09-21 11:47:52
603
原创 sus 逆向 writrup
东南的平台又放了新题,这次决定都做一下试试,在这里记录解题过程,因为是平时练习,我会尽可能多的把思路和解法写全,鉴于东南平台的wp不是很多,也方便下一届萌新的自主练习.平台地址:http://sus.njnet6.edu.cnhelloworld逆向签到题,直接f5看到内部if条件即可 抛开f5,分析一下汇编,首先是函数头部连续mov到栈中的数据,也就是flagenc 123...
2018-09-21 11:35:58
1680
原创 南邮平台逆向 - simple machine
去年校赛的题目当时没做出来….后来也没做出来,今天平台更新,抱着试试看的心理答了这道题 难度还可以接受,因为是在实现一个很正常的汇编,所以可以看懂 逻辑分析 主函数逻辑很简单,输入flag后验证长度是否能被3整除,随后传入函数中,进行加密的操作,然后一个逐字符比较 1234567891011121314151617181920...
2018-08-14 22:00:46
621
原创 iscc2018决赛android 1000
解题前序- 查了一下apk内部,可以拿到一个.dex,一个.jar和两个.so- 解.jar发现其实是一个加密的.dex,将dex转成jar以后发现checkflag的函数 分析checkflag函数- 发现其中先定义了一个二维数组,然后将其传入一个enc函数,这个函数是反编译不出来的,应该是加了壳- 后分析libcore.so函数,发现其中有一个函数名以及函数的操作很可疑...
2018-07-17 10:08:00
655
2
原创 qctf mips
题目分析分析代码,首先是第一个函数(简单异或,操作以后和一个长度为5的字符串作比较比较通过后,进入下一个函数,再次处理后27字符,后发现函数根据i&1的返回值分开了执行顺序,即奇偶分开加密 两端代码极其相似(一开始我弄没做出来,看了好久才发现= =) 实际上这两个操作是一个可逆的高低位互换(高二低六) 下面放出脚本#include <stdio.h>#include <...
2018-07-16 00:02:00
454
原创 cis2016-re300-maze
初探maze又遇到了maze,难度比bugku的take the maze简单一点,但是比nctf和nust的maze要复杂好多.运行发现,传参形式为命令行.错误会报错play again!IDA打开,查看主函数,很简短int __cdecl main(int argc, const char **input, const char **envp){ if ( argc != 2 )
2018-03-23 18:50:26
470
2
原创 2017国赛re200 填数游戏
一个数独游戏这题去年我们的新生赛的re300,简直是一样了,不过这是用C++写的,对于我这个没怎么学过的C++的还是有些难受的…sudu类里定义了一些函数,依次调用的是memset(a,0,324),也就是申请324字节长度的空间,当时还在想…数独还有18*18的吗… 后来分析一下得知woc,原来是4*9*9,因为int型在32位是4个字节的原因.接下来的函数如下int __userpurg
2018-03-23 18:49:19
263
原创 replace(Reversing.kr)
Reversing.kr–replace第一次遇到程序自修改的题目.程序主页面是一个窗口,输入后点确定,程序会崩溃,拖入OD查看逻辑,首先是一个跳转,到达程序下部,查看汇编后,发现程序有好多次类似于mov [eax],0x??????的操作.调试后发现,eax对应的值就是程序的代码段,eax的值,是由输入和imagebase决定,程序的eax被放入的初值为0x601605CB,所以当输入较小时
2018-03-03 17:37:18
487
原创 RingZer0 Authenticator
RingZer0 AuthenticatorOD跟了一波,只发现username必为RingZer0,随后IDA分析主函数,发现关键函数sub_4014A0,此时程序将username和password传入.函数得到返回值为1即可,函数里先判定username,随后判定password是否为纯数字.在函数尾,username和password分别传入两个函数,返回两个数组,然后对比其值...
2018-03-01 09:15:06
444
原创 二进制手的Web路(sql注入篇
想入门一下Web,非常的那种。那这几天系统的学一下SQL注入吧 那么什么是SQL注入呢。SQL是数据库的一种,一般的SQL查询语句大概就是SELECT * FROM * WHERE * ,类似这种语句一般都会在PHP代码中构造好,预留出一个空,在取得客户端的用户输入的数值,将其填入,这时,如果不进行过滤的防护措施,不法用户所输入的恶意代码也可能被执行,进而达到控制数据库的效果,先举一个例...
2018-02-08 11:11:23
750
原创 WhaleCTF Web部分writeup
Web部分writeup(真的是部分wp二进制小白兼web盲来记录下今天做的几道题。。。 0x00 签到题直接f12查看源码即可0x01 http呀 这里提供两种思路 做web肯定少不了burpsuit啦,网页中给了提示,Do you know what happend just now?! ( •̀∀•́ )突然想起南邮CTF平台上的两道题,考虑是不是flag在
2018-02-04 00:16:42
3700
2
原创 Writeup of CTFxNuist (逆向部分
两个月前,偶然发现了南信大的CTF平台,大师傅们对我们小萌新还是比较友好的.....这个平台上的题目有难有易,逆向部分非常推荐做一做的✧(๑•̀ㅂ•́)و✧,0x00:签到题 一个1kb的文件,经检查可知为pyc文件,哇。。。直接反编译啊ԅ(¯﹃¯ԅ)。可见输入的flag每位经过特殊运算后和数组key进行比较,由于没有多解的情况,爆破好了(依旧懒得想逆运算hhhhhhhh,import
2018-02-02 14:17:22
683
原创 Writeup of MOCTF
RE: 0x00:SOEASY逆向的签到题,扔进IDA搜索字符串,本来想定位下主函数,结果直接看到了flag。 0x01:跳跳跳打开dump.exe发现居然是掷色子的游戏..很明显爆破,OD载入找到关键跳,直接吧jnz改成je...或者从开头直接跳到最后hhhhhhhhh,得到一串base64,解之得到flag。 0x02:听小姐姐的话此题官方并没放出.. 0x03:暗恋的苦恼得到一个jia...
2018-02-01 21:39:17
1601
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人