Clang裁缝店

缝纫机的使用与维修


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索

HWS 2021 结营赛 Pwn

发表于 2021-03-06 | 分类于 CTF/Pwn

更新中…结营赛还有非常多值得探索的东西

阅读全文 »

IoT安全研究视角的交叉编译

发表于 2021-02-16 | 分类于 CTF/tools

IoT安全研究员使用交叉编译的主要目的,就是编译一段能运行在目标嵌入式设备上定制的恶意代码,以达到我们邪恶的目的。根据目标情景的不同,编译前的工具选择、编译中的参数设置、编译后的成品形态也不同。如果目标是linux,那我们的目标成品一般有三种形态:可执行ELF,动态库so,以及用于内存破坏漏洞的shellcode。如果是非linux,则可能是一段shellcode,甚至是整个固件。本文介绍了交叉编译工具本身,获得这些工具的办法,以及针对以上不同目标的编译方法。

阅读全文 »

HWS 2021 入营选拔赛 Pwn/固件/内核

发表于 2021-02-01 | 分类于 CTF/Pwn

本次入营赛时长4天半,仍然由安恒承办,赛题只有四类:固件、内核、逆向、Pwn。对于二进制选手足够友好,其中固件题目与IoT实战结合紧密,难度总体来说不大,入门友好型赛题。自己在比赛中也学到了很多东西,最终AK了Pwn和固件,内核和逆向分别做出来最简单的一个,总成绩排名第二。

阅读全文 »

StarCTF 2021 RISC-V Pwn Favourite Architecture

发表于 2021-01-22 | 分类于 CTF/Pwn

题目底座为riscv:rv64:libc2.27:ubuntu18.04,漏洞是该用户态程序栈溢出。不过远程环境是patch过的qemu,其功能限制了模拟程序去执行特定的系统调用,即没有riscv:rv64执行层面的execve。Pwn题总共两问:(1)读文件(2)Getshell。读文件就正常写orw的shellcode,本文也着重练习了shellcode的制造流程。Getshell的解法是:因qemu-user对模拟起来的代码访存隔离不完全,导致qemu-user模拟的程序可以直接修改qemu-user本体进程的内存,最终导致可以直接在qemu-user本体进程(x86_64层面)上Getshell。比赛时抢了第一问的一血,也是人生第一次xctf的一血,后在煜博的提示下解出第二问,感谢煜博。

阅读全文 »

python 负数 和 任意位数 补码 互转

发表于 2021-01-10 | 分类于 CTF/tools

对于补码,最简单的理解是最高位的权值是负数,而不是取反加一。

阅读全文 »

思科路由器 RV130W 中 ARM:uClibc 的 ROP寻找

发表于 2021-01-09 | 分类于 CTF/Pwn

在思科的RV130W路由器,因为字符串拷贝存在许多栈溢出漏洞,故利用时要考虑到空字符截断,一般来说存在这种限制条件的漏洞是不容易利用的。但不知为何,在思科这个系列的路由器中,进程加载动态库的地址是固定不变且位于高地址的,故可以通过各种动态库中的gadget来完成整个漏洞的利用,这里抽象出一道练习题进行练习寻找ROP的过程。

阅读全文 »

XCTF华为鸿蒙专场 HARMOFS01

发表于 2020-12-30 | 分类于 CTF/Pwn

更新中…

阅读全文 »

XCTF华为鸿蒙专场 ARM Pwn1

发表于 2020-12-29 | 分类于 CTF/Pwn

栈溢出,ARM题目的一般环境是QEMU用户态,默认不支持NX,故直接ROP+栈迁移然后写shellcode即可。

阅读全文 »

XCTF华为专场 三道RISC-V Pwn

发表于 2020-12-28 | 分类于 CTF/Pwn

更新中…没有一道题是看出洞来,因为没工具不会看,全是手测然后调出来的…

阅读全文 »

纵横杯2020 之 wind_farm_panel

发表于 2020-12-28 | 分类于 CTF/Pwn

house_of_orange原题

阅读全文 »

JAVA 后门 shell_reverse_tcp 实现

发表于 2020-12-25 | 分类于 CTF/Android

遇到情景是可以在android上安装任意apk,执行apk后有个反弹shell的效果。一般来说直接用msf就可以生成android后门,但不知为何在目标设备上无法正常使用,故决定自己编写一个简单的apk以完成反弹shell。最终实现三个纯JAVA版的shell_reverse_tcp,当然塞进apk也好使。开始自己完成了一个无法完全交互的shell,类似一句话木马那种伪tty。因为思路也是web的思路,执行->取结果字符串->发送结果字符串。后来参考msf的实现,人家是使用线程直接转发了启动shell的输入输出流到反弹的socket的输入输出流,不仅可以获得一个完全交互的shell,还省去了byte流转字符串的操作。这个其实就是和shellcode的思路一样了,类似dup socket的文件描述符到程序的输入输出流中。二者最重要的区别就是执行顺序上,因为自己对线程不熟,没有想到转发的过程其实是持续的,是伴随着我们对后门的操作的。也是因为自己的编程水平还停留面向过程的1234,不容易想到多个实体一起执行的情景,想的总是执行完第一步,然后第二步…最后找到一个单线程死循环获得完全交互shell的写法,通过判断输入流是否可用来进入转发,是目前看到的最短实现。

阅读全文 »

CTF中常见的C语言输入函数截断属性总结

发表于 2020-12-16 | 分类于 CTF/Pwn
函数 截断字符 截断属性 截断字符是否保留 截断后加
read(0,a,0x100) EOF 无 无 无
*a = getchar() EOF 无 无 无
scanf("%c",a) EOF 无 无 无
scanf("%s",a) EOF 0x09 0x0A 0x0B 0x0C 0x0D 0x20 截断字符前有有效内容则截断,如无有效内容则跳过截断字符读后面 不保留 0x00
sscanf(a,"%s",b) 0x00 0x09 0x0A 0x0B 0x0C 0x0D 0x20 截断字符前有有效内容则截断,如无有效内容则跳过截断字符读后面 不保留 0x00
gets(a) EOF 0x0A 截断字符前无论有无有效内容均截断 不保留 0x00
fgets(a,256,stdin) EOF 0x0A 截断字符前无论有无有效内容均截断 保留 0x00
sscanf(a,"%[^;];",b) 0x00 0x3B 无 不保留 0x00
sprintf(b,"%s",a) 0x00 无 保留 无
strcpy(b,a) 0x00 无 保留 无
阅读全文 »

Getshell稳定:命令注入 > 内存破坏

发表于 2020-12-15 | 分类于 CTF/Pwn

不要瞧不起命令注入,因为你不得不承认,命令注入型漏洞就是要比内存破坏型漏洞要稳。在实际的攻击中,我们发现的漏洞代码的运行实体可能是单蹦儿的一个进程,也可能是某个进程的一个线程。如果攻击发生在某个线程中,对其他线程,以及线程所属的进程会不有影响呢?在这种情况下,内存破坏漏洞的表现怎么样呢?

阅读全文 »

Getshell动作:system与execve的原理与异同

发表于 2020-12-14 | 分类于 CTF/Pwn

命令注入本身就是system函数,内存破坏漏洞的利用如果想获取shell,控制流劫持后也无非是system和execve,那么这二者又有什么区别呢?当你控制流劫持,并成功的getshell后,你可想过,被你打的漏洞进程,他现在过的怎么样了呢?

阅读全文 »

Getshell远程:真·RCE 正连?反连?不连?

发表于 2020-12-13 | 分类于 CTF/Pwn

更新中…真实的网络程序和Pwn题目中把输入输出映射到网络端口,二者程序本体的交互接口显然是不同的,后一种的CTF题目,真的具有现实意义么?如果是真的网络程序,我控制流劫持后直接执行system(“/bin/sh”)可以拿到shell么?如果不能,我如何才能Getshell呢?

阅读全文 »

后门加密通信分析:ByteCTF 2020 Final MSF6 android/meterpreter_reverse_http

发表于 2020-12-12 | 分类于 CTF/Web

后门通信分析,比较容易的是Metasploit是开源的,故可以直接分析其后门工具meterpreter,以及对端的后门程序的源码。发现新版MSF6中的meterpreter与后门程序通信是使用了RSA和AES,即后门程序使用攻击者发过来的RSA公钥对之后通信的AES秘钥进行加密,此AES秘钥由后门程序随机生成,所以正常情况下应该是无法解密其双方通信的。但题目中公钥给了个可以被分解的素数,导致通信可被破译。另外对于密码算法的操作非常陌生,解题过程中感谢楚涵和gml的帮助。

阅读全文 »

后门加密通信分析:HITCTF 2020 Godzilla

发表于 2020-12-12 | 分类于 CTF/Web

通信,至少两个实体才有通信这一说,通信各方都需要实现共同的一套通信逻辑,而这个通信逻辑就是我们要分析的,这个逻辑可能是软件实现,也可能是硬件实现。所以柿子要挑软的捏,找到通信各方里,最好分析的实体,一般来说肯定是软件了。Godzilla这款后门管理软件虽然没有开源,但是他的对等实体,也就是他自己的php后门,肯定是可以随便看以及调试的,也就是说并不需要知道他通信加密的所有细节,直接用后门php脚本里的函数就一定可以对发往该脚本的流量进行解密了。如果是对称加密的话,双向的流量也都可解。

阅读全文 »

X-NUCA 2020 Final 团队赛:QMIPS

发表于 2020-12-11 | 分类于 CTF/Pwn

更新中…又是瞎发包测出来的栈溢出,给出的MIPS程序IDA7.5居然没法分析:

阅读全文 »

X-NUCA 2020 Final 个人赛:PWN1

发表于 2020-12-10 | 分类于 CTF/Pwn

32位静态链接程序,开了canary和NX,可以溢出可控的IO_FILE结构体,之后会fclose该结构体,所以非常容易控制流劫持。但因为静态链接,也没有后门函数,只能靠系统调用,但因为没法控制栈,也就没法找到一条gadget就能完成execve(“/bin/sh”,0,0)的。比赛时没做出来,比赛后发现他还有个没有canary可以输入的栈溢出函数,控制流劫持到这然后ROP就完了。

阅读全文 »

HITCTF 2020 三道 Pwn

发表于 2020-12-09 | 分类于 CTF/Pwn

比较简单的Pwn,其中的MIPS Pwn是人生中拿到的第一个Pwn的一血,全是4哥的功劳。

阅读全文 »

HITCTF 2020 蓝牙原始数据解析

发表于 2020-12-09 | 分类于 Wireless/BLE

给出了非常长的01串,并告知这是用ubertooth抓到的原始数据,其中含有蓝牙的广播报文,请解析报文。

阅读全文 »

X-NUCA'2020 rtos

发表于 2020-11-22 | 分类于 CTF/Pwn

卡住了…更新中…rt-thread的main函数栈溢出,不用getshell,ROP/shellcode读出根目录下的flag即可:

阅读全文 »

西湖论剑 2020 IoT闯关赛 赛后整理

发表于 2020-11-17 | 分类于 IOT

本次IoT闯关赛为西湖论剑的其中一个赛项,由安恒的海特实验室出题,时长8小时,采用定制硬件为解题平台,玩法新颖,题目底座为armv5:linux5.4.75:libc2.30。但考察点偏CTF风格,与IoT安全实战尚有一定距离,最终赛况如下:

阅读全文 »

思科路由器 RV110W CVE-2020-3331 漏洞复现

发表于 2020-10-26 | 分类于 IOT

Realworld赛题,要求挖掘并利用CISCO RV110W-E-CN-K9(固件版本1.2.2.5)中的漏洞,获取路由器的Root Shell。攻击演示时的目标设备端口只开启了443端口的https服务,且不知道路由器的Web登录账号,故其实要求就是路由器Web的前台getshell。

阅读全文 »

HWS赛题 入门 MIPS Pwn

发表于 2020-09-24 | 分类于 CTF/Pwn

以HWS夏令营的两道题目入门MIPS Pwn,都是栈溢出,但栈地址是否已知这个利用前提不同,故利用方式有也所不同。

阅读全文 »

2020京津冀大学生安全挑战赛 easy_vm

发表于 2020-09-03 | 分类于 CTF/Pwn

附件:easy_vm

阅读全文 »

HWS夏令营 之 GDB调一切

发表于 2020-08-24 | 分类于 CTF/Pwn

HWS夏令营的课程分为三个部分,IoT固件安全,linux内核安全、IoT硬件安全。GDB作为一个出色的调试工具,也在三个部分的课程中频频登场,说哪都有他一点也不过分。三个部分中,我们用GDB依次调试了:arm,mips等与本机x86(x64)不同架构的linux用户态应用程序、x86(x64)的linux内核、STM32裸机程序。前两者目标的运行方法是qemu,后者是用的STM32单板以及JLINK仿真器。

阅读全文 »

TSGCTF 2020 beginners_pwn

发表于 2020-07-12 | 分类于 CTF/Pwn

题面非常简单,scanf格串参数可控。但无任何输出函数,无法泄露libc,不过程序syscall指令。利用方法:scanf格串构造任意地址写,写stack_chk_fail的GOT表,然后继续利用scanf栈溢出触发canary报警,控制流劫持,但是只找到两个能利用rdi和rsi的gadget,无法直接控制rax和rdx。最后在程序中找到一段gadget(0x4011DE)能间接控制rax和rdx,不过需要劫持rbp才能满足这段约束的条件。总之最后一顿ROP到syscall上即可execve(“/bin/sh”,0,0)。

阅读全文 »

能运行Linux的名片 入门 硬件制作

发表于 2020-07-11 | 分类于 IOT

更新中…

阅读全文 »

Checkm8 漏洞研究

发表于 2020-07-10 | 分类于 IOS

更新中… 一句话描述漏洞:对USB请求处理不当造成的UAF漏洞。淘宝卖了一个二手iPhone6,决定研究一下checkm8这个漏洞。checkra1n虽然可以越狱iPhone6,但是ipwndfu不支持iPhone6,于是我又买了一个iPhone7。

阅读全文 »

SCTF 2020 EasyWinHeap 入门 Windows Pwn

发表于 2020-07-09 | 分类于 CTF/Pwn

本文是写给只会Linux Pwn,而对Windows Pwn一窍不通的朋友,对照Linux Pwn的工具、原理、方法,讲解Windows下对应的内容。通过本文可以了解到:1.一种在Win下搭建Pwn题环境的方法(socat+pwntools+IDA) 2. Windows用户态进程运行的基本原理与一些实用工具 3.Windows堆管理的基本方法。本题的漏洞点是存在悬空指针可以UAF,而且对于该悬空指针可以继续show、edit、free。利用方式为通过UAFleak堆地址,然后通过unlink完成堆上的节点索引的改写进而继续leak出程序基址,进而继续改写堆上的索引节点leak出ucrt的基址,最后继续修改索引节点的函数指针为system并控制参数为cmd即可getshell。

阅读全文 »

SCTF 2020 Password Lock Plus 入门STM32逆向

发表于 2020-07-08 | 分类于 IOT

本文通过SCTF2020的STM32门锁固件题目,介绍了STM32的正向开发方法,逆向分析方法,以及IDA在分析固件的时候一些使用技巧。最终,通过静态分析以及动态模拟调试的方法分别获得 flag1:门锁密码 以及 flag2:UART输出的信息 。

阅读全文 »

SCTF 2020 AndroidDisplayBridge

发表于 2020-07-07 | 分类于 CTF/Android

本题官方分类是杂项,题目情景来自于一个实际的android投屏软件,出题者给出的解题目标非常明确,解析数据包中的视频流即可看到flag。这种杂项题目就非常的友好,实际软件、目标明确、思路清晰,并且自己在本题也收获了一些视频方面相关知识,故做此记录。解题方法概括为:1. 识别:识别投屏软件以及软件采用的视频技术。 2. 提取:从数据包中提取出原始的视频流信息。 3. 恢复:将视频流封装成文件并播放。

阅读全文 »

从树莓派的wiringPi库分析Linux对GPIO的控制原理

发表于 2020-07-01 | 分类于 IOT

前一阵给媳妇买了个树莓派4B,教程里使用wiringPi这个c库对GPIO口进行控制。但是说到底硬件接口肯定是需要通过操作系统进行控制的,wiringPi这个库到底是怎么跟操作系统打交道的呢?换句话说,操作系统提供了什么样的接口让用户程序来控制硬件?操作系统又是怎样真正的完成了一次硬件的控制呢?答案是:树莓派上的Linux通过对映射到硬件寄存器的内存地址读写来真正的控制硬件,提供的接口为GPIO设备文件。不过root用户可以通过/dev/mem这个文件,来直接控制物理内存,从而绕过GPIO设备文件,对GPIO进行控制。这就是wiringPi这个库的原理,有些黑客。

阅读全文 »

Meltdown复现 与 linux检测Meltdown的原理分析

发表于 2020-06-30 | 分类于 CTF/Pwn

本实验来自清华大学张超老师的《数据安全》课程中侧信道攻击小节作业,内容为:给定一个存在Meltdown漏洞的CPU并且安装了老版本linux系统的低权限用户,进行读取目标驱动的内存中的flag字符串,其中目标驱动的源码给出,真正flag的在源码中被隐去。作业环境为学生使用低权限用户通过ssh登录到一台机器上,然后对目标驱动的设备节点进行攻击,因为ssh环境终究会关闭,而且有驱动源码,所以决定自己动手复现一遍这个环境并完成攻击实验,首先是想了解一下Meltdown漏洞,不过重点也是想入门一下linux驱动。最终参考SEEDLabs的实验文档,使用自己的笔记本电脑,CPU为Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,通过在vmware中安装了官方原版ubuntu12.04完成了实验。并且在过程中读完了宋宝华老师的《Linux设备驱动开发详解》前半本,以及左耳朵耗子的《跟我一起写Makefile》。

阅读全文 »

第五空间 2020 Pwn

发表于 2020-06-25 | 分类于 CTF/Pwn

三道题的题目附件:5space_attachment.zip

阅读全文 »

RCTF 2020 Pwn note

发表于 2020-06-01 | 分类于 CTF/Pwn

漏洞点为索引没有过滤负数以及堆溢出。利用方法为首先通过负数索引泄露libc,然后构造堆溢出到tcache的fd为__malloc_hook的地址,再触发两次对应大小的malloc即可实现任意地址写,写入one_gadget即可。另外题目环境为libc2.29,本文还使用了ld-2.29.so直接加载题目的方式,介绍了在任意版本的ubuntu下做任意libc版本Pwn题的方法。

阅读全文 »

Rockwell/AB PLC 泄露机架模块脚本

发表于 2020-05-27 | 分类于 ICS

Rockwell/AB PLC 的ENIP协议经过简单的构造session即可实现正常通信,通过抓取组态软件和PLC通信的数据包,找出读取架子信息的流量,构造遍历架子序号,即可泄露机架上的模块信息。

阅读全文 »

Pwnhub 故事的开始 calc

发表于 2020-05-19 | 分类于 CTF/Pwn

漏洞点为一个整数溢出和一个堆溢出,其中整数溢出可以转化为另一个堆溢出。本题利用方法为利用原生的堆溢出漏洞,可以覆盖一个存在间接跳转的二级指针,因为没有开启NX,所以结合堆喷即可getshell。虽然堆喷解法的exp很简单,但本题的逆向却是是很耗时的。

阅读全文 »

TSCTF 2019 Pwn 薛定谔的堆块

发表于 2020-05-18 | 分类于 CTF/Pwn

这是一道堆喷思想和堆风水思想结合的题目,漏洞点是堆上变量初始化。利用方式和本题代码强相关,通过堆喷思想控制堆上的未初始化的变量,然后综合利用堆风水和堆喷泄露出堆块的布局信息以及libc基址,然后在利用堆喷思想劫持控制流并完成栈迁移到堆上,最后进行ROP即可getshell。

阅读全文 »

三菱PLC控制脚本

发表于 2020-05-17 | 分类于 ICS

三菱系列PLC,Melsoft私有协议,但如果没有配置口令,则可以直接进行重放攻击,通过wireshark抓取组态软件与PLC的通信报文即可获得控制PLC的数据包,重放即可。

阅读全文 »

网鼎杯 2020 Pwn boom1

发表于 2020-05-10 | 分类于 CTF/Pwn

多亏mcfx指导,才能做出这题,感谢。64位程序,保护全开,可以执行我们发送的c代码,但可以执行的代码有些限制,不能执行system之类的函数,但可以任意写内存。最终通过利用栈上的数据,获得了libc的基址,完成了对__malloc_hook的劫持,进而getshell。

阅读全文 »

De1CTF 2020 Pwn stl_container

发表于 2020-05-05 | 分类于 CTF/Pwn

漏洞点是:使用C++中的STL中vector存储对象的指针时,在earse清除其中元素时,总会调用最后一个对象的析构函数,最终导致存在悬空指针,并且可以被使用,即UAF。其使用的方式是可以继续free以及show其内容。

阅读全文 »

De1CTF 2020 Web+Pwn mixture

发表于 2020-05-05 | 分类于 CTF/Pwn

本题前面是Web,SQL注入注出管理员的密码,然后能任意读取文件,发现php使用了一个自定义的函数,读取到这个函数的实现的动态链接库,去除花指令后发现有个栈溢出,但是在利用的过程中需要注意栈的使用情况。

阅读全文 »

我的世界minecraft相关

发表于 2020-05-05 | 分类于 CTF/Game

大学的时候第一次接触到我的世界,觉得是个很自由浪漫的游戏,可以在游戏里天马行空的创造,当时也是因为这个游戏第一次要指定JAVA路径,听到了什么JDK、JRE的相关名词。最近和家人一起在玩这个游戏,正巧前几天的比赛里也出了游戏相关的题目,而且在CTF中出现MC也不是第一次了,所以借着这个机会玩一下游戏,也研究研究的运行原理,整理下我知道的方方面面。

阅读全文 »

和媳妇一起学Pwn 之 fengshui

发表于 2020-04-29 | 分类于 CTF/Pwn

题目文件:fengshui

阅读全文 »

IDA动态调试:arm架构的IoT设备上运行armlinux_server错误的一种解决办法

发表于 2020-04-19 | 分类于 CTF/tools

解决了在arm架构的32位linux下,由于链接器不同,动态库不全导致的IDA的调试server无法运行的问题。后来发现这种方法调试多进程时IDAserver会崩溃,应该是libthread_db.so.1与环境不兼容。另外其实有更简单的方法,直接在运行时设置环境变量,然后用本地的ld运行,ELF为参数即可: LD_PRELOAD=./libthread_db.so.1 /lib/ld-2.25.so ./armlinux_server

阅读全文 »

QEMU使用记录

发表于 2020-04-16 | 分类于 CTF/tools

每次看QEMU启动有一堆参数,很是害怕,所以抽出空来彻底整理一下见过的QEMU用法,从使用者的角度对QEMU做一个梳理。

阅读全文 »

和媳妇一起学Pwn 之 babyfengshui

发表于 2020-04-04 | 分类于 CTF/Pwn

题目地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=1&id=4713&page=2

阅读全文 »

和媳妇一起学Pwn 之 BookWriter

发表于 2020-04-04 | 分类于 CTF/Pwn

本题总结点较多,之后总结

阅读全文 »

和媳妇一起学Pwn 之 seethefile

发表于 2020-04-03 | 分类于 CTF/Pwn

漏洞点是:存在一个位于bss段的变量输入溢出,溢出后可以覆盖一个IO_FILE结构体的指针。

阅读全文 »

2020年3月26日国内HTTPS访问GithubPage劫持事件分析

发表于 2020-03-27 | 分类于 CTF/Network

我猜这么诡异的动作,应该是墙,然后用iptables尝试复现了劫持的情景

阅读全文 »

和媳妇一起学Pwn 之 Secret Garden

发表于 2020-03-21 | 分类于 CTF/Pwn

漏洞点是:存在悬空指针,并且可以被使用,即UAF。其使用的方式是可以继续free。

阅读全文 »

gdb带源码调试libc

发表于 2020-03-20 | 分类于 CTF/tools

在使用gcc编译时,如果采用带-g选项编译,即可在二进制文件中附加调试信息以便gdb进行源码级别的调试。如果二进制中存在调试信息并且源码文件存在,则可以使用gdb的list命令来查看源码。通过在ubuntu中安装带调试信息的libc,并下载libc源码,即可配置gdb跟入libc的库函数后进行源码级别的调试

阅读全文 »

为啥要分析固件的加载地址?

发表于 2020-03-19 | 分类于 IOT

计算机最讲道理。凭啥计算机知道加载地址,而我不知道?答:裸机程序中不必要包含自己的加载地址,如果没有加载地址,就无法对绝对地址的引用有正确的解析。所以分析的固件如果是裸机层面的代码,就需要知道其加载地址。

阅读全文 »

XCTF高校战疫 移动赛题GetFlag出题记录

发表于 2020-03-16 | 分类于 CTF/Android

出了一个攻击真机的题目:利用ssh的端口转发以及一台公网服务器,将apk绑定本地的对应端口映射到公网上。漏洞点为app中的Runtime.getRuntime().exec的参数拼接,利用方式为:使用其本身执行的wget程序的--post-file参数将保存在应用私有目录下的flag带出。最终解出本题的队伍个数为33,前三名为0ops,天枢,NU1L。

阅读全文 »

和媳妇一起学Pwn 之 Tcache Tear

发表于 2020-03-13 | 分类于 CTF/Pwn

漏洞点是:存在悬空指针,并且可以被使用,即UAF。其使用的方式是可以继续free。

阅读全文 »

x86架构的CPU加电后的第一条指令到底在哪?

发表于 2020-03-10 | 分类于 CTF/Pwn

本文讨论的第一条指令的概念是存储于CPU外部的指令,因为真正意义上的第一条指令应当位于CPU内部。这个问题其实看intel的CPU手册就知道了!

阅读全文 »

x86架构的CPU到底有多少个寄存器?

发表于 2020-03-09 | 分类于 CTF/Pwn

这其实是个不明确的问题,问题的主语应该具体到每一颗不同型号的CPU上,而非一类架构的CPU集合。

阅读全文 »

和媳妇一起学Pwn 之 applestore

发表于 2020-03-06 | 分类于 CTF/Pwn

漏洞点是:本题预留了一个彩蛋,触发后可将一块栈内存的地址记录到堆上,并且可通过一些函数的输入控制这块栈内存。

阅读全文 »

ARM PWN入门

发表于 2020-02-26 | 分类于 CTF/Pwn

本意是参考https://ctf-wiki.github.io/ctf-wiki/pwn/linux/arm/arm_rop-zh学习ARM相关的漏洞以及利用,却在搭建环境的问题上弄了好久,不明白QEMU启动一堆镜像都是啥,所以采用暴力的方式直接在ARM机器上学习,采用了树莓派,还有装了Termux的android手机直接gdb本地调试,安装zio本地利用。例题:jarvisOJ_typo

阅读全文 »

Termux(一个免root的android上shell环境与包管理器)

发表于 2020-02-25 | 分类于 CTF/Android

官网:https://termux.com/

阅读全文 »

Wargames

发表于 2020-02-04 | 分类于 CTF/Game

https://overthewire.org/wargames/

阅读全文 »

和媳妇一起学Pwn 之 hacknote

发表于 2020-02-03 | 分类于 CTF/Pwn

本题可以申请任意大小的堆块,并且在删除时未清空指针数组导致悬空指针,从而产生UAF。利用方式为通过UAF调用一个存在于堆块,并且被一系列堆操作篡改的函数指针,控制流劫持进而getshell。

阅读全文 »

Write Some Paper (大小姐教我入门堆)

发表于 2020-02-02 | 分类于 CTF/Pwn

本题可以申请任意大小的堆块,并且在删除时未清空指针数组导致悬空指针,从而产生UAF。利用方式为通过FastbinAttack的DoubleFree的实现有限制的目标地址写,将GOT表项改写为后门函数。

阅读全文 »

和媳妇一起学Pwn 之 calc

发表于 2020-02-01 | 分类于 CTF/Pwn

漏洞点是:因一个逻辑漏洞引发的栈上数组越界读写

阅读全文 »

工控安全初探

发表于 2020-01-10 | 分类于 ICS

方校长说:工控系统不是多安全,而是常人很少接触到

阅读全文 »

树莓派3B+刷openwrt安装mitmproxy折腾记录

发表于 2020-01-06 | 分类于 IOT

折腾了三个晚上终于搞定了

阅读全文 »

36C3 CTF 之 bacon

发表于 2020-01-02 | 分类于 CTF/Crypto

本题源自2019年36C3 CTF,对基于Speck的hash算法找原像或第二原像,解法是中间相遇(Meet-In-The-Middle)

阅读全文 »

36C3 CTF 之 flag concat

发表于 2020-01-01 | 分类于 CTF/Pwn

本题源自2019年36C3 CTF,解法是由strncat函数的SSE优化产生的bug导致的栈溢出

阅读全文 »

LLVM pass 实现 C++虚表保护

发表于 2019-12-21 | 分类于 CTF/Pwn

本文写于2019.12.21,LLVM9.0版本编译相关

阅读全文 »

C++虚函数的攻与防

发表于 2019-12-17 | 分类于 CTF/Pwn

阅读文章:

阅读全文 »

Ghidra使用技巧记录

发表于 2019-12-16 | 分类于 CTF/Reverse

在逆向MIPS指令集的软件时,如果想看反汇编到C代码的结果,现在基本有如下三种选择:

阅读全文 »

各种sploit框架

发表于 2019-12-15 | 分类于 CTF/tools

收集各种sploit框架:

阅读全文 »

逆向某设备i2c总线控制功能实现

发表于 2019-12-14 | 分类于 CTF/Reverse

一次比赛中通过某漏洞getshell后,需要触发硬件上的一些响应,但是并没有找到可以直接控制硬件的对应命令,所以只能逆向能实现控制硬件的程序,进而编写对应功能代码,上传恶意程序进行操控。

阅读全文 »

线性分析法 分析 DES加密算法

发表于 2019-12-13 | 分类于 CTF/Crypto

学习线性分析法的起因是密码学课程的一次论文阅读的大作业,题目如下:

阅读全文 »

破解加密数据 之 Rabin算法

发表于 2019-12-07 | 分类于 CTF/Crypto

本题来自于:2019年工业信息安全技能大赛个人线上赛,第二场第一题,破解加密数据,题目如下,即解密密文109930883401687215730636522935643539707对应的明文数据

阅读全文 »

西门子S7-200smart启停以及清空OB块脚本

发表于 2019-11-25 | 分类于 ICS

比赛遇到了S7-200smart的脚本控制,由于型号比较老,流量没有什么认证和加密,直接用wireshark抓到正常通信的包,然后重放即可,目前功能有:

阅读全文 »

同交换机下劫持通信方法:ARP欺骗和组播源冒充

发表于 2019-11-24 | 分类于 CTF/Network

在全国第五届工控系统信息安全攻防竞赛中遇到了这么一个情景:

阅读全文 »

TCP 相关机制

发表于 2019-11-23 | 分类于 CTF/Network

安全研究

阅读全文 »

条件竞争学习 之 DirtyCow分析

发表于 2019-11-18 | 分类于 CTF/Pwn

冬令营听了两遍DirtyCow还是不太懂,这次决定借着学习条件竞争的机会搞懂这个很出名的漏洞。首先介绍一下DirtyCow,其CVE编号:CVE-2016-5195。Linux内核的内存子系统在处理写入时复制(copy-on-write, COW)时产生了竞争条件(race condition)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。影响版本2.6.22到4.8.3, 4.7.9, 4.4.26之前。首先介绍一下条件竞争:

阅读全文 »

逆向与IDA调试技巧小结

发表于 2019-11-05 | 分类于 CTF/Reverse

最近在逆向一个通信协议的实现,具体来说这个协议实现代码在一个windows软件的动态链接库中,该协议的通信过程中加入了随机数以防止重放攻击,我需要逆向找到该协议是如何对随机数进行一系列的计算,从而完成重放攻击。历时四个月终于完成,第一次搞win下逆向就是这么硬核的工作,着实让我费尽心思,更不知道熬了多少个大夜。不过在整个过程中的确学的非常多的知识,但因为并不能公开是何种协议,所以只能抽出整个过程中学到的逆向技巧进行分享。

阅读全文 »

AES的S盒生成

发表于 2019-11-01 | 分类于 CTF/Crypto

看了许多网上超多的关于S盒生成的文章,感觉没几个能说明白这个东西怎么算的,最后终于找到一篇文章:

阅读全文 »

AES加密CBC模式的c语言实现

发表于 2019-10-25 | 分类于 CTF/Crypto

手写了一遍AES加密,虽然是参考网友的(基本一毛一样),但还是在写的过程中有所收获。不过还是没弄明白s盒的计算方法,即在有限域上求乘法逆,那个扩展欧几里得实在是看不明白。能力太差,以下实现只是能做学习AES原理用,解题或者平时计算还是用高级语言中对应的算法库。

阅读全文 »

两个栈溢出小题

发表于 2019-10-18 | 分类于 CTF/Pwn

32位题目地址:nc 202.112.51.157 9001
64位题目地址:nc 202.112.51.157 9002

阅读全文 »

清华校赛THUCTF2019 之 固若金汤

发表于 2019-10-15 | 分类于 CTF/Pwn

题目地址:nc grjt.game.redbud.info 20003

阅读全文 »

清华校赛THUCTF2019 之 warmup

发表于 2019-10-14 | 分类于 CTF/Pwn

题目地址:nc warmup.game.redbud.info 20002

阅读全文 »

清华校赛THUCTF2019 之 ComplexWeb

发表于 2019-10-13 | 分类于 CTF/Web

题目地址:http://47.93.12.191:7002

阅读全文 »

重合指数法破解维吉尼亚密码(英文文本)

发表于 2019-09-25 | 分类于 CTF/Crypto

重合指数

阅读全文 »

2019京津冀大学生安全挑战赛 php反序列化小题

发表于 2019-09-20 | 分类于 CTF/Web

题目

阅读全文 »

python沙箱逃逸绕过以及exp收集

发表于 2019-09-10 | 分类于 CTF/Web

留坑

阅读全文 »

符号表是啥?strip去符号去了啥?

发表于 2019-09-06 | 分类于 CTF/tools

一直对符号和符号表不是很了解,这次彻底搞懂这玩意,在《程序员的自我修养》3.4和7.5章节介绍了关于符号表的相关知识。符号,这俩中文字放一起,有以下几种意思:

阅读全文 »

和媳妇一起学Pwn 之 3x17

发表于 2019-09-06 | 分类于 CTF/Pwn

题目地址:https://pwnable.tw/challenge/#32

阅读全文 »

和媳妇一起学Pwn 之 orw

发表于 2019-09-01 | 分类于 CTF/Pwn

题目地址:https://pwnable.tw/challenge/#2

阅读全文 »

和媳妇一起学Pwn 之 Start

发表于 2019-08-30 | 分类于 CTF/Pwn

题目地址:https://pwnable.tw/challenge/#1

阅读全文 »

phpstorm+xdebug调试到底怎么配置?我教你最简方法!

发表于 2019-08-14 | 分类于 CTF/tools

为什么这么麻烦?

阅读全文 »

IDA动态调试窗口布局设计

发表于 2019-08-13 | 分类于 CTF/tools

前几天看一个朋友的动态调试窗口非常酷炫,大概这样:

阅读全文 »

mac与win配置内外网同时访问

发表于 2019-08-04 | 分类于 CTF/tools

情景

阅读全文 »

查看可执行程序依赖的动态库

发表于 2019-08-03 | 分类于 CTF/tools

查看elf依赖的so

阅读全文 »

工控题目练习IDA(动态)之 组态工程密码破解

发表于 2019-07-29 | 分类于 ICS

你是一名企业工程师,在供热期中,操作员发现工程系统管理员:flag的密码忘记了,请你通过工程文件找出系统管理员的密码。

阅读全文 »
1 2
老板娘

老板娘

I love blingbling.

183 日志
16 分类
263 标签
RSS
GitHub 微博 知乎 b站
Links
  • 媳妇
  • s3cunda
  • 极目楚天舒
  • 卓教授
  • 小路小站
  • Car1
  • 楚涵
© 2021 老板娘
由 Jekyll 强力驱动
主题 - NexT.Muse