- 博客(106)
- 收藏
- 关注
原创 [re]go语言逆向:2020网鼎杯朱雀组re what wp
[re]go语言逆向:2020网鼎杯朱雀组re what wp题目分析那道题目,是一个linux的逆向,直接输入key:然后逆向分析一下,是一个go语言开发的程序,看着比较复杂,但是字符串什么的都没有混淆,可以通过“please input the key:”字符串找到入口:然后还可以看到一个类似base64串一样的字符串,感觉像是校验用的,继续往下看找到输入,和输入后的校验:可以看到输入校验之后,错误会直接提示error,成功会有一大波操作,简单看了下感觉应该是对开头的flag字符串进行解
2020-05-18 16:21:42
10687
原创 [re]反推树结构:2020网鼎杯朱雀组re tree wp
[re]反推树结构:2020网鼎杯朱雀组re tree wp这道题感觉出题人放了一波水,隐藏了一个输出树的函数,导致发现了这个函数之后难度大幅降低,当然没有这个函数也可以解,但麻烦了很多!接下来分析题目:题目分析一道比较标准的逆向题,开局就输flag,一点不多BB:逆向分析一下,主逻辑比较简单:init里面是初始化,先把a-z26个字母放在一个结构体数组里:然后用这个结构体数组生成了一个树结构:具体生成算法不用太仔细研究,我当时也是看了好久,后来发现跟这个并没关系,后面介绍。然后输入
2020-05-18 16:00:23
10096
2
原创 [pwn]星号格式化串:2020网鼎杯白虎组pwn quantum_entanglement wp
[pwn]星号格式化串:2020网鼎杯白虎组pwn quantum_entanglement wp文章目录[pwn]星号格式化串:2020网鼎杯白虎组pwn quantum_entanglement wp题目分析利用方法1利用方法2还是一个比较有意思的个格式化串题目,限制了输入长度,需要使用星号的格式化串完成利用。题目分析题目名字:量子纠缠,实际没啥关系,强行起名,首先查看安全策略:没有PIE,程序的逻辑就让你输入first name和last name,然后就输出了:然后逆向分析题目:没
2020-05-16 11:59:39
11935
4
原创 [re]简单逆向:2020网鼎杯白虎组re 恶龙 wp
[re]简单逆向:2020网鼎杯白虎组re 恶龙 wp题目分析题目描述:这是一个与史莱姆和恶龙战斗的故事,请战胜三头恶龙,取得flag。张三长老说,试图patch这个程序的人会得到错误的flag…得到题目之后,发现是一个linux的逆向。查看一下程序功能:结合之前的描述,感觉是一个游戏题目,连续战胜三次boss,便是成功,正常套路,都要打小怪升级,然后买装备然后打boss,但,我选择1. 和史莱姆战斗,然后死了…逆向分析程序:程序主体就是,只要boss还存在(一共三个),那么就会指向dro
2020-05-16 11:51:43
11907
4
原创 [misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp
[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp文章目录[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp分析log文件格式分析协议组成UDS网络传输层UDS统一诊断服务协议分析文件提取文件逆向flag计算参考链接:teslaaaaa这道题是青龙组被做出来的题目中做出来人数最少的,直到比赛快结束才有第一个人做出来,怎么说,难并不是因为脑洞大,讲道理这道题是一道好题,我当时也是肝了一天没做出来,我倒是把文件提取出来了,奈何比赛时间已经接近尾
2020-05-16 11:47:31
12901
3
原创 [re]硬猜flag:2020网鼎杯青龙组re_joker_wp
[re]硬猜flag:2020网鼎杯青龙组re_joker_wp2020网鼎杯青龙组的一道逆向题joker,这道题其实并不是很难,但难在考心态和脑洞,获取flag的最后一步居然是硬猜,我吐了啊,而且没法爆破,因为这道题你拿到flag了,在程序中输入也不会告诉你flag正确。题目分析题目是一个32位windows程序:逆向分析一下,main函数直接f5是不行的,堆栈不平衡。但这里无需去纠正他,因为main函数的逻辑还算简单:直接可以看出flag字符串长度是0x18也就是24然后对输入的f
2020-05-15 16:08:09
9979
原创 [re]符号执行一把梭:2020网鼎杯青龙组re_signal_wp
[re]符号执行一把梭:2020网鼎杯青龙组re_signal_wp这道题是2020网鼎杯青龙组的一道逆向提signal,一道虚拟机逆向题目,题目本身不难,可以直接分析也可以符号执行秒掉。题目分析正常windows逆向,开局直接输flag,也不多bibi:逆向分析程序:程序开始将全局变量区的opcode作为参数给vm_operad函数,看名字也能看出是一个虚拟机分析的题目,先把opcode提取出来:\x0A \x04 \x10 \x08 \x03 \x05 \x01 \x04 \x20 \x
2020-05-15 12:17:38
10953
3
原创 [pwn]VMpwn:2020网鼎杯青龙组pwn boom2 wp
2020网鼎杯青龙组pwn boom2 wp比赛的时候被特斯拉那道隐写恶心到了,导致一直在肝那道题,也没看pwn,赛后看了组内大佬的wp,感觉这道pwn也不是很难,于是自己又做了一遍。这道题总共80+队伍做出来,反而更难的pwn1 boom1却有200+队伍做出来,不得不说py真的很严重,赛后我看群里说比赛的时候好像有一份pwn1的exp在全网流通,有点小恶,但也无所谓,名词不重要,自己学到东西才是最重要的。题目分析首先检查一下安全策略:安全策略全开,然后简单看一下逻辑:执行之后让你输入co
2020-05-12 16:24:51
12502
2
原创 [re]无需脱壳dump内存来静态分析
[re]无需脱壳dump内存来静态分析文章目录[re]无需脱壳dump内存来静态分析静态分析动态调试dump内存继续静态分析分析补充ctf逆向中遇到加壳的程序,其实大部分情况下无需脱壳,因为我们的目的是解题的到flag,只需分析出题目的算法,而不必要将壳完整的脱下来。所以我们可以采取动态调试等壳程序运行结束之后直接将解密后的源代码从内存中dump下来静态分析的方法来解题,下面以一道题目进行说明...
2020-03-04 01:50:11
11589
原创 [mobile]patch apk后重打包重签名
patch apk后重打包重签名有很多时候想要逆向分析一个apk文件,单纯的静态分析不能解决我们的需求,我们需要patch一下apk的库文件(比如patch反调试),或是修改java源码等,我们希望修改之后重新打包成apk,然后装入实机调试,那么就需要将其重打包重签名。文章目录patch apk后重打包重签名工具java环境apk toolsAndroid Studio解包patch文件重打包...
2020-03-01 11:15:51
12378
原创 年终总结&新年展望
最后一天&新的一年!今天早上起来一看,妈耶到了12月31号了,明天就是新的一年了,拖延症的我攒了一堆博文没有发(也不知道为什么这么懒明明写完了还不发,可能是发了也没人看吧。。。。做个简单的小总结吧感觉今年自己提升挺大的,但主要还是集中在入职之后。上半年大四下学期过的挺水的。。。考驾照、沉迷自走棋、临毕业沉迷英雄联盟(现在好像也还想玩)、水完了毕业论文(感觉答辩的时候给老师都说乐了),...
2019-12-31 22:38:43
10292
原创 [pwn]调试:gdb+pwndbg食用指南
gdb+pwndbg组合拳文章目录gdb+pwndbg组合拳前言及安装基本指令执行指令断点指令下普通断点指令b(break):删除、禁用断点:内存断点指令watch:捕获断点catch:打印指令查看内存指令x:打印指令p(print):打印汇编指令disass(disassemble):打印源代码指令list:修改和查找指令修改数据指令set:查找数据:堆操作指令(pwndbg插件独有)其他pw...
2019-12-31 22:17:48
58675
14
原创 [pwn]关于有符号与无符号的比较
关于有符号与无符号的比较有的时候再做pwn题目的时候IDA并不能将有符号或者无符号数的比较显式的表示出来,导致如果不细心的话会错过一些漏洞,比如整数溢出,负数绕过等等。为了避免这种情况,建议每次遇到条件的比较或者加减操作,就查看汇编代码,看跳转指令是有符号还是无符号的跳转,整理如下:A(above)大于;B(below)小于;(equal)等于:无符号数G(great)大于;less th...
2019-12-31 22:16:25
9451
原创 一些经常用到的二进制环境整理[不定期更新]
一些经常用到的二进制环境文章目录一些经常用到的二进制环境下载和安装和基本配置kali下载修改ipvmtools重新安装vmtools安装pwntoolsdocker初级调试-ida+docker远程调试初级调试方法简介docker导入镜像常用docker命令ida远程调试开启tcp监听进阶调试-pwndocker初级调试方法简介pwndocker下载pwndocker启动pwndocker内置工...
2019-12-31 22:06:41
10702
原创 [pwn]堆:realloc_hook控制栈结构达成onegadget
[pwn]realloc_hook控制栈结构达成onegadget文章目录[pwn]realloc_hook控制栈结构达成onegadgetchunk extend通过realloc调整栈帧来满足onegadgeteasy_pwn wpchunk extendchunk extend是一种限制比较少的堆利用方式,通常通过off by one或off by null来利用。chuank ex...
2019-12-31 22:04:26
11721
7
原创 [pwn]遇到不会的题不要急要一步步分析(和请教大佬)
遇到不会的题要一步步分析(和请教大佬)文章目录遇到不会的题要一步步分析(和请教大佬)拿到题目,没见过的船新题型传统方法简单分析并不能解决询问大腿github找到部分源码思路突破新工具完成逻辑交互程序逻辑利用思路拿到题目,没见过的船新题型公司内部比赛试题一拿到题目,发现压缩包并不简单,怎么还有个奇怪的东西混进来了。于是解压之后直接打开这个奇怪的东西,发现并看不懂:什么鬼东西花里胡哨的,先...
2019-12-31 21:53:25
9983
2
原创 [pwn&re]使用IDA flair恢复静态编译去符号的库函数名
使用IDA恢复去符号的库函数名文章目录使用IDA恢复去符号的库函数名IDA flair自己制作签名文件自动检测脚本在一些时候经常遇到静态编译并且去符号的题目,打开的画风就是这样的:和这样的:虽然说我们也可以根据参数的类型或者参数的数量手动分析出原函数的名字或功能,但无论如何也太麻烦了,再者有的时候还会有一些其他的干扰,那更会加大分析难度,这里提供一个简单的还原库函数名称的IDA功能:f...
2019-12-31 21:22:49
15801
原创 [pwn]堆:fastbin attack详解
[pwn]fastbin attack文章目录[pwn]fastbin attackfastbin attack原理double freeuse after freechunk extend需要注意的点:0ctf:babyheapfastbin attack原理fastbin attack是利用fastbin分配原理的漏洞,利用要求是我们能够修改“已释放”堆块。通常情况下与double fr...
2019-12-31 21:12:56
16603
3
原创 [pwn]堆:堆风水与堆排布-babyfengshui
[pwn]堆:堆风水与堆排布-babyfengshui所谓堆风水也叫作堆排布,其实说严格了并不是一种漏洞的利用方法,而是一种灵活布置堆块来控制堆布局的方法,在一些一些其他漏洞的利用中起到效果。通过一道经典的题目,由清华蓝莲花战队出的babyfengshui来看一下:babyfengshui查看安全策略没开PIE,但值得一提的是这是一个32位的程序,32位的堆是4字节对齐的。查看程序逻辑...
2019-12-31 20:59:40
12935
1
原创 [pwn]格式化字符串:0ctf 2015 login writeup
文章目录格式化字符串:0ctf 2015 login writeup格式化字符串漏洞题目分析利用思路开始利用格式化字符串:0ctf 2015 login writeup格式化字符串漏洞格式化字符串漏洞是不正确的使用printf函数导致的,为了简便使用printf(s),而s是用户可控的字符串,就会导致任意地址读和任意地址写漏洞。**归根结底,由于printf的参数个数是不确定的,而函数本身根...
2019-09-26 15:52:37
9461
原创 [pwn]堆:熟练掌握double free+unlink
double free+unlink 4-ReeHY-main-100 writeup一道经典的堆溢出题目4-ReeHY-main-100题目分析江湖规矩,先看安全策略:还可以,没有full relro说明可以修改got表。然后看看程序的逻辑:一看到菜单基本就是堆得题目没跑了,然后IDA查看反汇编代码:create函数(我改名后):整个create函数充斥着符号溢出的味道…然...
2019-09-06 23:53:17
9191
原创 [pwn]堆:Use After Free
Use After Free:time_formatter writeupUAF漏洞就是Use After Free,再释放后继续使用,Use After Free会引发各种奇怪的现象,根据场景的不同并没有一种统一的利用方式。下面看题目:time_formatter日常惯例,先查看安全策略:开启了canary、NX、ASLR,然后查看一下程序逻辑:很常见的堆菜单,下面查看一下各种功能:...
2019-09-06 23:35:09
8712
原创 [pwn]堆:unlink绕过,0CTF2015 freenote详解
[pwn]堆:2free=unlink绕过,0CTF2015 freenote题目地址,提取码:f0xd拿到题目,国际惯例,首先查看安全策略;没有开启PIE和full partial。然后查看程序逻辑:函数的名字已经被我改过了,比较常见的堆溢出漏洞的菜单和功能,值得一提的是init__函数(原来名字是啥我忘了):申请了一大块地方,用来做记事本的索引。这个结构体在后面根据上下文可以...
2019-09-02 23:38:23
9491
原创 [pwn]ROP:灵活运用syscall
灵活运用syscall遇到了一个程序并不复杂,但利用却很麻烦的题目,Recho题目详细writeup,题目地址:Recho按照惯例,查看安全策略:基本没啥安全策略,然后查看程序逻辑,程序很短,就一个main:很容易就找到溢出点,大体逻辑就是,先输入一个数,小于15会被认为是16,然后再输入一串字符串,程序会将前x(刚输入的数字)个字符拷贝到buf中,这里没有上限,所以存在溢出。但问题是...
2019-08-26 22:18:06
10308
原创 [pwn]关于printf输出时机的坑
关于printf输出时机的坑今天遇到了一个特别有意思的题,本来很简单的利用,但一直没有算出来,最后发现是一个很简单的却很细节的问题。welpwn详细writeup题目地址:welpwn首先查看一下安全策略:保护很少,然后看一下代码逻辑:read读入了0x400个字节,一般这么长必有溢出,注意echo并不是系统函数,查看echo逻辑:s2只有16个字节,但却复制了一个0x400字...
2019-08-26 22:13:28
8444
原创 [pwn]通过覆盖seed值劫持rand()函数
文章目录通过覆盖seed值劫持rand()函数guess_num writedice_game writeup通过覆盖seed值劫持rand()函数遇到了一种提醒,不是通过劫持eip然后getshell,而是程序中给了利用函数,但需要满足一定条件,比如连续猜对N个随机数。这里使用两个例题:guess_num write题目地址:guess_num查看安全策略:全开…然后查看反汇编:...
2019-08-26 22:09:08
8796
原创 [pwn]逻辑复杂利用简单
逻辑复杂利用简单的pwn遇到了一道坑有很多的题,记录一下。题目:forgot,题目地址:forgot首先查看安全策略不是很高,就一个NX,看看代码逻辑吧,直觉告诉我并不简单:一张图放不下,其实有溢出,但我由于主函数太长了还一堆小函数,没注意(吓到了)。中间switch之中的一堆小函数都是判断是不是字母、数字、下划线之类的,比如:而且最后有个调用:调用的值又和v14有关,导致...
2019-08-26 22:04:34
7636
原创 [pwn]ROP:信息泄露获取libc版本和地址
文章目录通过信息泄露获取libc版本和地址DynELF模块介绍pwn200 writeuppwn100 writeup通过信息泄露获取libc版本和地址有一些pwn题目中我们可以找到很明显的溢出,但程序中并没有system函数,也没有给出libc版本。但我们可以通过反复的溢出打印一些内存的值来在内存中搜索system的地址,这里主要使用的工具是pwntools中的D以内ELF模块。DynEL...
2019-08-26 22:00:15
13734
原创 [pwn]ROP:三道题讲解花式绕过Canary栈保护
文章目录绕过Canary栈保护Canary栈保护babystack writeupMary_Morton writeup绕过Canary栈保护Canary栈保护Canary是一种栈保护手段,通常通过在栈中插入cookie信息(一般在ebp上方),在函数返回的时候检查cookie是否改变,如果改变则认为栈结构被破坏,则调用一个函数强制停止程序。当开启Canary保护的时候不能通过传统的栈溢出直...
2019-08-26 21:52:08
11502
原创 手脱64位UPX壳
手脱64位UPX壳背景近期舍友不知道为啥忽然要汉化一个GTA的外挂,第一次听说他要汉化,问了我一堆关于逆向的东西。由于外挂加了upx的壳(也是peid说的,我感觉是一个很奇怪的壳),他搞不定于是发来给我。我平时也是逆向linux的elf文件多一些,windows的而且还是64位的几乎没搞过,平时也没脱过什么壳,也就是听说过原理而已(感觉不难),再加上我之前的电脑坏掉了返厂修了,新电脑刚到手,...
2019-08-03 22:54:00
10439
3
原创 [pwn]ROP:通过ESP和EBP间接控制EIP
[详细]ROP:通过ESP和EBP间接控制EIP这次试用的是Alictf2016的试题vss,参考[i春秋上的PWN入门4](<https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=42534&highlight=pwn>) ,不得不说Sp4ce大佬选的例子都非常好,文章也非常好。我在这里算是详细讲解如何利用ESP...
2019-07-10 02:34:37
9071
原创 [pwn]ROP:使用通用gadget
[详细] ROP:使用通用gadget这次试用的是LCTF2016的试题pwn100,参考i春秋上的这篇文章 在这里详细讲解如何利用通用gadget构造一个复杂的ROP链。通用gadget介绍介绍一段通用的gadget,通常出现在64elf位文件的__libc_csu_init函数中(截图来自本程序pwn100,很多64位二进制文件都有):这其中有三段gadget,第一段是pop ...
2019-07-06 15:45:53
15105
原创 [pwn]ROP:绕过ASLR&NX
# [详细] ROP:绕过ASLR&NX这次使用的程序是Defcon - 2015初赛题目,r0pbaby,也是一道经典的pwn题目了。NX策略是指在栈中的代码不会被执行,ASLR是使共享库的装载位置随机化不可预测。信息搜集首先查看是64位还是32位文件:然后查看安全策略:可见开启了NX和PIE,PIE也就是ASLR。然后在IDA中查看伪代码,无需详细阅读,直接找溢出函数即...
2019-05-27 15:54:21
10692
原创 [超详细]栈溢出漏洞原理实例讲解
[超详细]通过实例讲解栈溢出漏洞文章目录[超详细]通过实例讲解栈溢出漏洞代码简介分析程序整体执行流程程序执行细节及栈空间变化栈溢出通过栈溢出控制程序执行结果通过栈溢出插入代码本篇文章通过《0day安全:软件漏洞分析技术》书中第二章中所用到的一个程序的栈溢出漏洞的复现,以及使用OD一步步调试来学习栈溢出完整的原理。程序虽然简单,但在一些基础薄弱的人眼中还是无法理解,所以导致很多新手到了这里就被“...
2019-05-03 16:32:19
26975
8
原创 [pwn]ROP:绕过NX策略
ROP学习实例:绕过NX策略我们使用的例子是这篇博客中的第一个例子:https://bbs.ichunqiu.com/thread-42530-1-1.html?from=sec,在i386环境中运行,很简单的一道题,这里提供一种更加简单的解法,只需细致观察,可以免除一些不必要的计算。NX策略是使栈区域的代码无法执行,但我们可以使用ROP绕过。ROP技术就是不需要自己手动写shellcode...
2019-05-03 09:55:54
11343
原创 WebGoat 8.0 M21失传几关的答案在这里
这篇文章是去年我发在freebuf上的,忘了…这两天上freebuf才发现没有收录到博客里,收录一下吧,反正都是自己的东西。。。原文:https://www.freebuf.com/vuls/177923.html 最近在研究OWASP WebGoat8.0,鲜鲜实验室有一篇文章特别好,从安装到攻略都有(传送)。但其中有几关这位大佬没有做...
2019-04-25 16:26:35
8591
原创 越权手工测试思路
业务逻辑测试流程——越权测试越权问题终究还是由权限引起的,所以无论是水平越权还是垂直越权,在测试之前都应将各身份的权限范围梳理清晰。权限由上到下划分明了,如管理员-普通用户-游客。再将各个用户的权限的范围列出,如:管理员用户 权限认证方式:登录,www.a.com/admin/login 权限资源:www.a.com/admin/*普通用户 权限认证方式:登录,www.a.com/lo...
2019-04-24 10:51:57
12162
原创 各类调用约定小结
文章目录各类调用约定小结综述__stdcall__cdecl__fastcall__thiscall__nakedcall__pascal各类调用约定小结主要总结下__stdcall,__cdecl,__fastcall,__thiscall,__nakedcall,__pascal几种调用约定的原理。综述函数的调用约定就是在函数调用的时候的一些规则,包括:函数参数的压栈顺序,由调用...
2019-04-23 13:02:46
9584
原创 文件类漏洞测试流程
GCC采用的是AT&T的汇编格式, 也叫GAS格式(Gnu ASembler GNU汇编器), 而微软采用Intel的汇编格式. 语法上主要有以下几个不同. 1、寄存器命名原则在 AT&T汇编格式中,寄存器名要加上 '%'作为前缀;而在 Intel汇编格式中,寄存器名不需要加前缀。AT&TIntel说明%eax...
2019-04-23 12:01:03
7700
原创 Web漏扫测试心得
文章目录Web漏扫测试心得靶场扫描方式完整性稳定性性能及安全性漏洞发现能力总结ABCDWeb漏扫测试心得由于实习工作的原因,需要采购一批web漏扫设备,需要进行测试。于是最近接触了好多厂商和他们的设备下面简单说一下自己的感想。靶场由于手头靶场的匮乏,暂时只在办公室的服务器中利用docker搭建了DVWA和WebGoat两个靶场。除此之外接受厂商自带的靶场,如果哪个厂商的靶场比较好就会选用这...
2019-01-20 22:24:47
12842
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人