![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ctf相关
u7ch1
这个作者很懒,什么都没留下…
展开
-
2020SCTF——PWN snake
0x00 背景今年SCTF上的一道PWN题,难度还行,关键是要大概读懂程序,找到可利用的漏洞。由于比赛环境使用的是libc2.23,我为了复现也搞了一个ubuntu16.04的虚拟机(也是libc2.23)。这样搞fastbin利用比较方便。最后在libc的小版本上还是有一点出入,不过,问题不大。0x01 源码分析while ( 1 ) { v10 = 0; v13 = 60; v14 = 4; v11 = 0; v12 = 1; dword_603原创 2020-07-15 11:36:52 · 373 阅读 · 0 评论 -
2020第五空间智能安全大赛PWN——twice
0x00背景这次比赛中的一道pwn题,主要考察了栈迁移和泄露canary。之前没有接触过栈迁移,所以当时没有做出来(好多人都做出来了,捂脸)。没办法,菜鸡只能赛后复盘。注:虚拟机环境使用的动态库为kali的libc-2.30.so0x01源码分析主要代码逻辑如下,main函数之后可以进行两次输入,然后将输入的字符串打印出来。第一次输入可以溢出一个字节,用于泄露canary和栈地址(用于之后的栈迁移),第二次输入可以溢出到返回地址,修改程序流程完成栈迁移,从而执行ROP链。0x02 exp构造需原创 2020-06-30 12:26:54 · 788 阅读 · 0 评论 -
CTF——针对RSA的共模攻击
0x00 背景在今年的5space比赛中做到一道比较简单的RSA题。由于没怎么接触过crypto的题目(别的题都好难,做不出来呀233),在这里写一下解法,顺便记录一下有关RSA共模攻击的知识。那么什么是共模攻击呢,大致就是我们可以获取到同一个明文m的经过两个公钥e1,e2加密的密文c1,c2,并且有c1=pow(m,e1,n);c2=pow(m,e2,n)那么,若e1,e2互素,由扩展欧几里得算法,存在e1*s1+e2*s2==1。我们就可以求m≡m^(e1\*s1+e2\*s2)≡(m^e1)^s原创 2020-06-25 16:34:28 · 3025 阅读 · 0 评论 -
攻防世界——进阶PWN:Mary_Morton
0x01源码分析今天做了一道PWN题,考察了格式化字符串漏洞和绕过canary的栈溢出。比较基础,但是还是有值得记录的地方。checksec查看,64位程序,开启了canary和栈不可执行。拖进IDA里,看到源码逻辑还是比较简单的。存在一个格式化字符串漏洞还有一个栈溢出。还有一个后门函数0x4008DA。0x02 格式化字符串漏洞先用老脚本看一下格式化串的相对偏移。#search_offset.py#encoding:utf-8from pwn import *context.log_le原创 2020-06-14 21:48:40 · 402 阅读 · 0 评论 -
攻防世界——web题目bilibili
0x00前言照着大佬的wp复现了一下(捂脸),还是遇到蛮多问题的,于是记录一下。0x01进到主页面,发现一个注册按钮,还有一个提示:ikun们冲鸭,一定要买到lv6!!!。先注册个账号再说叭。接下来就是要找到lv6的小电视进行购买。而一共page有500页,写脚本来找比较方便。按F12看到每个等级的图片的命名规则大概就是lvx.png。于是就写了下面的代码from urllib import requesturl = "http://220.249.52.133:56346/shop?page原创 2020-06-05 17:00:23 · 1779 阅读 · 0 评论 -
PWN题——如何利用pwndbg实现本地调试
问题由来在做ctf pwn题的过程中,一些复杂的题目可能需要借助调试工具进行本地调试。在没装pwndbg之前,使用gdb没法正常的调试。gdb attach的进程不知道为什么跟要调试的进程不是一个。虽然我在开始处下了断点,但是程序还是自顾自地运行。我在安装了pwndbg之后,执行到gdb.attach()后一直在waiting for debugger。随后找到一种解决方法,就是使用tmux终端。下面记录一下我使用的模板,方便之后做pwn题。python2环境下的模板#coding:utf8fro原创 2020-05-19 17:35:01 · 3697 阅读 · 0 评论