自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whklhhhh的博客

一只逆向小菜鸡

原创 安卓pwn - De1taCTF(BroadcastTest)

BroadcastTest 背景 逆向APK可知程序中仅有MainActivity$Message和三个Receiver类。 前者实现了一个Parcelable类,后三个则是广播。 其中Receiver1是export的,接收并向Receiver2发送广播,Receiver2和3则非export,...

2020-05-05 11:28:43 591 0

原创 有趣的Shellcode和栈

学弟问了一个ctf-wiki上pwn入门题的知识点,本身没什么意思 题目下载链接 - sniperoj-pwn100-shellcode-x86-64 题目简介 很明显栈溢出,buf位于栈顶,栈空间为0x10个字节(可以从buf的位置rsp+0rbp-10h看出),所以栈分布为 内容 偏...

2020-03-26 04:47:28 634 2

原创 小爱控制HA上的开关(红外线)

小爱同学控制homeassistant in 树莓派 by 红外线 前言 租了房子以后一直想搞智能家居自动化各种事情,最近终于腾出空可以搞辣! 研究了一圈感觉拆开关太麻烦了,零火线还要撬开关,租的房子不敢瞎搞。想了一下可以用arduino/树莓派加上小马达来实现敲击开关,不过自己做的话估计比较丑而...

2020-01-01 18:45:30 831 4

原创 191018 pwn-HITB_dubai polyfill

Polyfill 写作dubai-ctf,然而在阿布扎比举办233 风格迥异,被毛子吊锤一百遍啊一百遍 第二天主要在看一个wasm的pwn,发现了UAF的漏洞但是由于对heap没了解所以没写利用。队里的pwn手觉得没法用所以没写,最后偷了流量重发爽了一天。赛中修复了题目,但是并没有起效。事后分析了...

2019-10-18 14:01:49 688 3

原创 190927 re-某恶作剧APK的分析

用JEB打开,首先扫一眼AndroidManifest.xml的相关信息 从包名可以看出 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fvszbl92-1569599143824)(https://i.loli.net/2019/09/27/ybnJIaoRwrq...

2019-09-27 23:46:23 886 1

原创 190919 pwn-第五空间final_十生

说是题目,其实就是飞秋0day 233 之前虽然听说过各种windows的pwn 软件停止更新已久,保护都没开,是比较古老的玩意儿了 于是很容易搜到各种POC 例如0x49D03F处的整形溢出 v54是输入进来的字符串,因此可以提供4294967295=0xffffffff=-1从而使memc...

2019-09-19 11:20:32 645 0

原创 190825 reverse-ogeek初赛

好久没写博客了_(:з」∠)_回头有空补一下DEFCON的过程和题目复盘啥的… babyre 浏览一遍可以看出来很明显是一种压缩算法,简单搜了一下发现比较像LZ77,但是据说有很多变种,没找到什么好的实现就接着自己逆了 简单理解了一下原理,在buff内搜索与后17个字节相匹配的最大子串,如果有就记...

2019-08-25 23:56:30 815 3

原创 190727 pwn-ciscn_final_14

搞了快三个小时才出来_(:з」∠)_几乎白给 雷泽太强了! 简单逆向后可以知道 该程序具有注册和登陆功能 注册后会给name赋值为userx,而get_flag的需求为name==adminx passwd成员存储原始密码加盐(随机数)加密后的结果 code成员存储其他成员加盐(随机数)加密后...

2019-07-27 22:15:48 905 0

原创 190705 安卓-对抗AndResGuard的重打包

换了一个apk实验后 apktool b -f -p. xxx也不行,仍然报资源错误 看了一下可能是鹅厂出的AndResGuard工具,会将资源文件夹/Res/xxx重命名为/r/x类的目录,导致资源解析出错 针对这个混淆有shakaApktool来对抗,但由于太久没有更新所以已经失修了 于是无奈...

2019-07-06 17:55:31 620 0

原创 190702 安卓-Frida-gadget

开始鹅厂实习的社畜搬砖生活(°∀°)ノ frida-gadget的优势在于通过对应用重打包,加入gadget.so的调用,从而实现frida的hook 这种途径避免了注入所需要的root权限 发现了一个现成的脚本,但测了一下似乎有一些问题,明天修一下看看 以下是手动流程 解包 apktool d ...

2019-07-02 23:43:24 1080 5

原创 190617 逆向-神盾杯(Reverse)

突然想起来我还有个博客(…… 这一个月来各种比赛跑,然而主要都是被pizza带飞。得赶紧抽空整理一下各种题目 神盾杯re500的c#没啥思路,本身对.net机制确实没啥深入理解…加入TODOLIST留待日后研究了( babyjs 拿到html后发现按钮调用了checkLogin函数 在控制台输入...

2019-06-17 17:56:22 1061 2

原创 190505 逆向-DDCTF2019(Reverse)

咕咕咕咕咕 连续若干CTF以后就是各种考试作业DDL催命_(:з」∠)_ 等这两周各种考察课完了慢慢补各种活儿吧~ 先交一下之前的DDWP-0- 还请各位大佬多指正~ Windows Reverse1 通过段名发现是UPX壳,upx -d脱壳后进行分析 核心函数只是通过data数组做一个转置,反求...

2019-05-06 00:08:37 1074 4

原创 190409 逆向-RCTF2015(FlagSystem)

想起来前段时间搞了JEB3的泄露版,找了个安卓题来试试手 结果发现这题目也挺有意思的23333 提供的题目文件是一个二进制,十六进制查看器发现头部标着ANDROID BACKUP,显然就是个应用的备份文件了 查了一下可以通过abe.jar来解包,试了一下发现解出来的文件是乱码,毫无标志 于是找了一...

2019-04-09 00:54:38 840 1

原创 190407 逆向-西湖论剑杯

Re1-easyCpp IDA打开发现一大堆模板很丑,但仔细看一下其实只有一堆变量来回操作而已 基本上就是各种STL和vector的用法,算法名都保留下来了所以难度下降很多 基本流程是接收输入、生成斐波那契数列的十六项 然后对输入依次使用transform和accumulate算法 分别是遍历ve...

2019-04-08 00:13:51 1691 4

原创 190404 逆向-利用溢出修改TLS的re题

偶然在52上看到 这个帖子 顺手打开看了一下 主函数这里有个错误指令,附近没有跳转所以大概不是花 往上翻一下 标准的try语句,新增了一个异常处理结构 可以看到handler指向了401269+1的地方,而401269正好就是错误指令地址 也就是说相当于一个花了 修正一下变成这个样子 直接...

2019-04-04 21:00:27 462 0

原创 190401 逆向-华硕供应链木马样本分析

随便谷歌了一个样本来,md5:55a7aa5f0e52ba4d78c145811c830107 恶意代码在__crtExitProcess中调用 用GetModuleHandleW(0)拿到本模块的加载基址,然后通过偏移调用IAT中的VirtualAlloc 这里IDA的Hexrays不知道为什...

2019-04-01 18:15:18 529 0

原创 190330 逆向-嘉韦思杯re2

划一波水,re1秒了,re2看起来挺有意思的就处理一下 main函数有一个花指令使得CreateFunction失败 jmp跳到了自己指令的中间部分,NOP掉即可 然后重新在开头按P或者右键CreateFunction就可以F5了 main函数里没啥好说的,这个花不去也无所谓,反正汇编也看得出...

2019-03-30 22:29:02 571 2

原创 190328 逆向-浅谈反调试

调试机制 Linux 通过ptrace系统调用来调试子进程 对于create类型,与正常创建子进程工序相同,通过fork创建子进程后使用traceme来告知内核它需要被调试,这样等到exec执行的时候内核就会产生SIGTRAP,此时调用wait的父进程就会接收到这个信号并ptrace子进程,从而使...

2019-03-29 01:11:02 866 0

原创 190326 逆向-MFC逆向技巧

MFC 简介 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。 –百度百科 虽然由于实际...

2019-03-27 23:43:02 945 0

原创 190321 逆向-花指令去除(脚本)

Pizza的脚本中是通过get_bytes和patch_bytes两个API来将所有机器码读出然后再Patch回去的 中间匹配pattern的过程是构造字符串然后find来控制 这样操作的优点是find的效率奇高,对于大量数据的处理非常的快 而我们之前使用的逐字符匹配pattern的优点是可控性...

2019-03-22 02:11:22 1593 0

原创 190320 逆向-单字节穷举

单字节穷举 前言 穷举是做任何题都最简单的方法 但考虑输入为任意字符串,则穷举空间就有95len(95是常见可见字符的数量),随便一个flag长度为几十就会导致计算时间突破天际 所以一般情况下不会考虑穷举 但当题目具备一些特殊情况时就可以通过一些手段来降低穷举空间到可以接受的大小 最简单的情况当然...

2019-03-21 01:55:23 298 0

原创 190319 逆向-花指令

以前也接触过简单的花指令,基本上就是jz/jnz式的固定跳转 前几天的某比赛中出现了一个相对而言比较复杂的花指令,参考pizza的笔记开始一阵学习XD 前言 花指令指的是没有卵用,会干扰代码阅读甚至反编译,却不影响程序功能的代码。 广义上来说OLLVM、VMP一类的代码改变型混淆也属于花指令,本文...

2019-03-20 00:15:53 2188 0

原创 190309 杂项-路由配置

咕咕咕了小半年,回来继续更新啦(°∀°)ノ(尽量吧233 最近都没什么比赛,所以一直在准备别的东西 比如说别的比赛里有一项思科路由器的配置~ 通过gns3模拟器来操作的,添加IOS/IOU设备后即可进行设备操作 ...

2019-03-09 19:49:53 273 0

原创 181203 逆向-基于Frida的VM_log工具

做CTF中的VM题一直都是在python中手写一遍所有的handler来模拟执行VM,然后打log并结合代码来猜测逻辑 然后慢慢地产生一个想法、本身程序也有在执行这个VM,何苦还要再手写VM呢,反正大多数情况下需要的只是log–再具体说的话就只是程序的reg和data而已 通过在VM的每次loop...

2018-12-03 19:36:06 927 0

原创 181202 逆向-2018鹏城杯

本次比赛的各个Re题目都对各种公开密码算法的运用考察比较多,还是挺有意思的~ Reverse badblock main函数打开发现是C++写的,充斥大量无用代码 于是转头执行,发现接收输入后回弹err... 搜索字符串发现有三处引用 分别是两个anti_debug和一个puts_wrong an...

2018-12-02 23:56:19 949 2

原创 181124 逆向-2018“柏鹭杯”厦大邀请赛初赛(Re1、2)

总体来说逆向的题目质量挺高~感觉学到了不少东西=-= 就是第三题放题时间有点晚233没有公网的情况下做题难度确实比较大 欢迎各位师傅交流~ Re1 JAVA层 用JEB查看反编译代码,JAVA层做了如下操作 有点绕,不知道是出题人故意还是无意地,这个处理写的很蛋疼 除了上述列出的...

2018-11-24 22:32:38 860 0

原创 181118 逆向-HXB2018(Reverse)

这次的re难度不是太大……但是re2和re3都有点偏门,不太硬核233 但也挺有意思的 Replace upx -d脱壳,然后是一个比普通签到略复杂一点的签到题,没什么好说的 要求table[input[i]] == atoi(data[2*i]+data[2*i+1])^0x19 table =...

2018-11-19 00:27:33 629 3

原创 181116 逆向-EIS2018(SimpleAssemblyReverse)

忘记报名了OTZ就看了个"web"题,re有空再看看吧~ SimpleAssemblyReverse 不太明白题目里都写着Reverse了为啥还算在Web分类下面0.0 静态分析及准备 访问IP只有一个输入窗口和按钮 之前做过几个WebAssembly的题目了,也算轻车熟路了2...

2018-11-16 21:31:46 447 0

原创 181111 逆向-HCTF

感谢HCTF的师傅们献上的题目~ 相对而言比较喜欢v爷爷出的spiral(虽然有多解(斜眼 其他几题难度差了点儿_(:з」∠)_ Reverse spiral main函数中比较简单 输入通过argv[1]送入 sub_12F9E0中检查格式,并返回除"hctf{}"外的字符个...

2018-11-12 20:04:32 448 4

原创 181107 开发-Windows下的SMC(VisualStudio的常量链接和ASLR)

最近又要出个题orz黔驴技穷只好又掏出来SMC 这次要求平台是Windows,于是在上次的linux+gcc基础上进行改动 之前在linux下实现SMC时最关键的问题是将.text段赋予写权限(或者将.data段赋予可执行权限,一个道理),使用的是mprotect这个函数 而到了windows平台...

2018-11-07 19:57:20 419 0

原创 181105 逆向-DHB(re+easy_pyc)

随手写的用来应付提交的WP╮(╯_╰)╭想想其实也没啥需要细写的,有不懂的童鞋在评论里留言吧~我会尽快回复的XD见谅啦 easy_py 直接反编译提示元组下标越界 用010模版看了一下,几个data都没有问题 那么问题只可能出在code里了 简单扫了一下发现头部有一个64 23 33,这是指令(6...

2018-11-05 23:04:48 245 2

原创 181010 逆向-inctf(ultimateGo)

整体思路和切入点 看标题大概就能猜出来是Go语言 IDA加载进去看,还是没符号的Go语言逆向…… 之前做到有符号的是从main.main函数入手,现在连符号都没有,只好从字符串突破了 运行发现有输入提示“Enter pass:“和错误提示"Wrong” Shift+F12的字符串检索中没...

2018-10-11 04:03:10 681 0

原创 181008 逆向-inctf(load3r、Decoy)

题目提示可知bin文件为bootloader 将其用IDA打开,选择16-bit模式加载,即可看到反汇编出的程序 由于IDA不支持16-bit的F5,所以只能读汇编 不过由于bootloader对长度有限制,必须为512字节以内,因此相对不是很复杂 多提一句,按空格可以转为graph模式,...

2018-10-09 01:20:23 318 0

原创 181007 安卓-构建数据库

安卓自带一个Sqlite数据库,但是我对sql不是很熟~毕竟不会开发不会web的逆向菜狗233 正好看到书上有讲Litepal这个方便的工具,部署也超级简单,就实践了一下 Litepal方便之处在于可以将数据库的记录与Java对象建立映射,通过Bean类来快捷地操作记录 首先在build.grad...

2018-10-08 02:00:02 178 0

原创 181006 安卓-爬取数据

准备用课程表作为练手的项目~ 在搞最棘手的界面之前,先实现自动爬取教务系统的代码吧 数据爬取最简单的就是直接通过Http连接拿到html,然后通过正则拿到分组数据 不过搜索的时候发现Java下还有个jsoup更加方便:可以直接按照html的节点进行数据提取 最常用的的是jsoup.connect(...

2018-10-06 23:08:18 564 0

原创 181005 安卓-Activity(菜单和活动间穿梭)

四大组件中的活动(Activity) 类比到Windows中的话,也许Activity比较接近于浏览器中的页面 每个“视觉窗口”都是一个Activity,都相当于一个新的页面,具备各自的控件、函数事件等等 菜单 在/res/menu/main.xml中创建布局和各个Item的控件 每个item用如...

2018-10-05 02:52:57 213 0

原创 180928 逆向-Flare(6-3)

在完成一轮循环以后,程序会读取自身,找到结构体部分,然后乱序再回写入文件 于是可以通过一个管道启动进程,然后一边读取文件获取结构体信息,一边通过管道与程序交互 将之前的脚本封装好,重复调用666次即可得到结果 由于比赛还未结束,所以先不放出脚本了 实践发现结构体的target_data是不会变的...

2018-09-29 00:13:45 156 0

原创 180925 逆向-Flare(6-2)

去成都摸了个巅峰极客,感觉对渗透加深了一些理解,虽然还是不准备碰web23333 靶场作为整个渗透流程的模拟,尤其是本次巅峰极客做了一个非常非常复杂的内网环境–达到三层甚至更多的跳转,还是挺有意思的 虽然如果前渗透–web不过关的话就没法开启后面的旅程了233 这样一想预选赛就掏出靶场来作为筛选...

2018-09-26 02:06:54 201 0

原创 180913 逆向-Flare(6-1)

magic这个题目……看的我有点花orz 主逻辑是铺好一个data,然后进行666次check 每次check如果通过的话会将data和输入进行异或,失败则会直接退出 check内部乍看非常复杂,稍微逆一下可以看出来是个结构体 标好了导入进去即可使得check函数相对清...

2018-09-14 01:13:04 355 0

原创 180912 其它-实习总结

在滴滴安全部实习了近两个月,受了部门大哥和小姐姐们的不少照顾,虽然没有之前期待的单独教导,不过接触了不少甲方企业的实际需要也是收获颇丰 实习期间接触了很多实际使用的APK,与CTF比起来代码量级差别及其明显,使用了大量的工程化的范式,而这是平常小应用开发、ctf题目中完全接触不到的 在CTF中...

2018-09-12 21:57:23 464 0

提示
确定要删除当前文章?
取消 删除