自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 BUUCTF_PWN - ciscn_2019_n_1

BUUCTF_PWN - ciscn_2019_n_1查看程序保护模式和文件基本信息有个NX保护,如果要写shellcode有点麻烦,文件是64位小端程序(各条保护详情介绍请看胡写瞎写(1) pwntools常见命令)IDA载入shift+F12寻找敏感字符串,发现一个cat /flag查看该字符串的交叉引用:查看该函数:很明显这是通过栈溢出覆盖v2的值变成11.28125 拿到 flag我们发现gets()并且v2是在 rsp + 2Ch,那就是说只要输入超过44个字符便可以覆盖.

2020-12-06 17:04:45 320 2

原创 BUUCTF_PWN - rip

BUUCTF_PWN - rip查看程序保护模式和文件基本信息:没有什么保护,各条保护详情介绍请看胡写瞎写(1) pwntools常见命令,另外文件是64位小端程序IDA载入找到main函数F5:发现一个 gets ( ) 函数,一个可以利用的漏洞点,gets ( ) 函数介绍:get( )函数简单易用,它读取从输入流中读取一行,赋给字符串变量s,直到遇到换行符,然后丢弃换行符,存储其余的字符,并在结尾添加一个空字符使其成为一个 C 字符串,但是它无法检查数组是否装的下,因此它只知道开始处,.

2020-12-06 00:53:05 722

原创 胡写瞎写(2) pycharm 安装 package 时 time out

我们都经常用pip来安装各种 package ,但是每次在pycharm安装老是很慢,而且有些时候还报错(因为网速太慢),查完资料后得知,要更改下载源,这里修改成为阿里的源:pip config set global.index-url https://mirrors.aliyun.com/pypi/simple这里再推荐其他的几个下载源:清华:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/中科

2020-12-04 18:26:48 305

原创 胡写瞎写(1) pwntools常见命令

checksec:图_1图_2命令概述:checksec [./filename]是检查文件的保护模式.图_1和图_2演示是两种极端的情况图,图_1是全都有保护,图_2是全都没有保护,接下来对每条进行讲解和分析.Arch:程序的架构,图中指出文件是amd64(也就是俗称的x86-64架构),并且是小端储存。ps:i386架构则是指明程序是32位的,具体参考amd和intel的历史故事.RELRO:其作用是禁止.GOT.PLT表和其他一些相关内存的读和写。.GOT.PLT表和.PLT表的作用请

2020-12-01 00:07:13 728

原创 BUUCTF_[HDCTF2019]Maze

BUUCTF_[HDCTF2019]Maze养成习惯,先查壳:UPX的壳,懒得UPX命令行了,直接用FFI脱:用IDA打开,旁边找不到main函数,但是一进来就是main函数,并且有出错的地方,仔细看就是花指令,(看从 0 到 1 的 CTFer 里面的逆向篇学到的):处理方法就是:把40102E那一排转化为数据(按d):在将下面的转化为代码(按c):原理:处理完我们发现下面的代码变正常了:现在就可以构建main函数了,选中main的全部语句按P,IDA就会把这段汇编代码分析成.

2020-11-26 23:28:49 878 1

原创 BUUCTF_[BJDCTF2020]easy

BUUCTF_[BJDCTF2020]easy现在养成习惯了,先查壳:拖进32位的IDA,找到main函数F5emmmmm,怎么什么都没有,找一下其他的自定义函数,有个ques(),点进去看看,如下:int ques(){ int v0; // edx int result; // eax int v2[50]; // [esp+20h] [ebp-128h] int v3; // [esp+E8h] [ebp-60h] int v4; // [esp+ECh] [eb.

2020-11-13 16:28:26 276 1

原创 BUUCTF_[V&N2020 公开赛]strangeCpp

BUUCTF_[V&N2020 公开赛]strangeCpp照例打开IDA,翻了翻函数没有找到main函数,那就shift + F12 查找字符串,点进去查看字符串的交叉引用(按 x )__int64 __fastcall sub_140013AA0(__int64 a1, __int64 a2, __int64 *a3){ char *v3; // rdi signed __int64 i; // rcx __int64 v5; // rax __int64 v6;.

2020-11-11 15:08:33 269

原创 CTF : 从小菜鸡开始 (逆向篇 Ⅰ)

前言参考《从0到1:CTFer成长之路》这本书,看这本书的时候,可能因为是第一版,很多内容只是点到为止,但不可否认的是它有一定的帮助,在此我尝试加入自己的理解,帮助自己对这本书的理解更上一层.逆向工程基础概述:逆向工程嘛,顾名思义就是将一个东西逆向分析及研究,从而演绎并得出该产品的处理流程组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。而在CTF这个东西可执行文件:...

2020-11-10 16:44:02 251

原创 BUUCTF_[ACTF新生赛2020]easyre

[ACTF新生赛2020]easyre给IDA坑了,学到了学到了!用IDA打开,有壳:是exe文件,直接脱壳:找到main函数:int __cdecl main(int argc, const char **argv, const char **envp){ char v4; // [esp+12h] [ebp-2Eh] char v5; // [esp+13h] [ebp-2Dh] char v6; // [esp+14h] [ebp-2Ch] char v7; // .

2020-11-05 22:48:36 2170 8

原创 BUUCTF_Youngter-drive

BUUCTF_Youngter-drive学到一些多线程和IDA平衡堆栈的知识!同样也是尽量写的详细!解压后拖进IDA,发现UPX的壳,如图:用upx -d 把它给脱壳了,如图:接下来就可以用IDA载入了,如图:找到main_0函数就可以用F5大法了一个函数一个函数来看,先看到sub_4110FF,点进去看看:没啥东西,往下看,CreateThread创建了两个线程,MSDN文档1如下:点进StartAddress查看线程,如图:发现一个函数,点进去看,如图:但是弹出了下面的错误.

2020-10-30 22:59:26 1227

原创 BUUCTF_CrackRTF

BUUCTF_CrackRTF学到了不少东西,尽量写的详细一点吧!!!丢进IDA,找到main_0,F5反汇编(感觉写了这么多进去main函数就是main_0下次直接找main_0了)int __cdecl main_0(){ DWORD v0; // eax DWORD v1; // eax CHAR String; // [esp+4Ch] [ebp-310h] int v4; // [esp+150h] [ebp-20Ch] CHAR String1; // [esp+.

2020-10-26 00:16:56 506

原创 MD5算法详解(施工中...)

小前言看到某位大佬将加密算法都写成了对话的形式,感觉很新颖也理解很多,在此我也尝试写成对话的形式,尽量通俗易懂和可可爱爱,也帮助自己更好的理解.小福:大福?大福:怎么了?小福:MD5算法到底有什么用啊?大福:...

2020-10-25 17:28:10 146

原创 BUUCTF_pyre

BUUCTF_pyre解压得到一个py文件,用pycharm打开,如图:一堆乱码???打开反编译网站把它丢进去.1print 'Welcome to Re World!'print 'Your input1 is your flag~'l = len(input1)for i in range(l): num = ((input1[i] + i) % 128 + 128) % 128 code += numfor i in range(l - 1): code[.

2020-10-23 22:16:06 533

原创 BUUCTF_RSA

BUUCTF_RSA下载文件解压得到两个文件既然题目都说是RSA算法了,看文件名也能猜到一个是公钥文件(pub.key)一个是需要解密的文件(flag.enc),将他们转化为txt格式查看,乱码不用管它.这个是公钥,用在线计算工具转换得到e和n我们拿n去求p和q然后把p,q,e,n输入到工具上得到d,如图:写个python脚本将密文解密,如下:import rsae = 65537n = 8693448229604811919066606200349480058890565601.

2020-10-23 17:08:55 1189

原创 BUUCTF_luck_guy

BUUCTF_luck_guy照例用IDA打开,找到main函数,如下:就patch_me函数看起来有点用.get_flag接着点进去.unsigned __int64 get_flag(){ unsigned int v0; // eax char v1; // al signed int i; // [rsp+4h] [rbp-3Ch] signed int j; // [rsp+8h] [rbp-38h] __int64 s; // [rsp+10h] [rbp-.

2020-10-22 12:53:47 723 3

原创 BUUCTF_[BJDCTF 2nd]8086 1

BUUCTF_[BJDCTF 2nd]8086 1用IDA载入,发现怎么才俩函数这么简单的嘛!按F5发现弹出下面的图片:emmmmm,难道只能看汇编代码?回到汇编窗口按space(空格)好像不是复杂,按 c 将其转化为代码,如图:发现就是将字符串异或而已,用python写脚本,如下:str = "]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;"flag = ''for i in str: flag += chr(ord(i) ^ 0x1F)prin.

2020-10-20 16:30:56 277

原创 BUUCTF_SimpleRev

BUUCTF_SimpleRev同样,用IDA载入找到main函数,如图:浏览一下代码发现,v4读取一个输入如果是 d 或者 D 就进入Decry函数,如果是 q 或 Q 则退出程序,那么Decry就是个关键函数,我们跟进,如图:unsigned __int64 Decry(){ char v1; // [rsp+Fh] [rbp-51h] int v2; // [rsp+10h] [rbp-50h] int v3; // [rsp+14h] [rbp-4Ch] int i; .

2020-10-20 15:44:34 559 2

原创 BUUCTF_刮开有奖

BUUCTF_刮开有奖打开程序,一个大大的刮开有奖,没有其他有用的信息…,如图:用IDA载入,找到WinMain函数,按F5载入,如图:看到DialogBoxParamA函数,该函数从对话框模板资源创建模式对话框,应用程序可以使用此值初始化对话框控件(MSDN文档截取的)。既然有初始化对话框,那么必然有读取对话框的函数,我们点进DialogBoxParamA找一下,如图:噢!看到了GetDlgItemTextA函数,我们发现他在DialogFunc中,我们用F5载入它看看,如下:BOOL.

2020-10-18 20:01:07 1658

原创 BUUCTF_不一样的 flag

BUUCTF_不一样的 flag打开程序:啥玩意?打1,2,3,4 都没用,用IDA加载程序,找到主函数,如下:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // [esp+17h] [ebp-35h] int v4; // [esp+30h] [ebp-1Ch] int v5; // [esp+34h] [ebp-18h] signed int v6; // [esp+38h.

2020-10-16 22:10:14 823

原创 BUUCTF_reverse_3

**BUUCTF_reverse_3**用IDA载入,寻找_main函数点击main_0跟进,来到主函数,如下(重要的语句已经做好了标记):接下来先查看一下Str2这个字符串是啥,点进去,如图:然后再看看sub_4110BE函数是啥,如图:再跟进sub_411AB0函数,如下(太长了…):void *__cdecl sub_411AB0(char *a1, unsigned int a2, int *a3){ int v4; // STE0_4 int v5; // STE

2020-10-16 17:13:06 1388

原创 BUUCTF_xor

BUUCTF_xor用IDA载入xor,按F5打开_main函数,查看C代码,如下:有两个关键函数strlen和strcmp,strlen指出该字符串长度是33,strcmp将v6和global进行对比,可见global是xor后的结果,点击global来到字符串的位置,看到下面的字符串。再点击进去找到最终的字符串:用python写出注册机:s = ['f',0xA,'k',0xC,'w','&','O','.','@',0x11,'x',0xD,'Z',';','U',0x11,.

2020-10-16 13:05:30 2426

原创 2020-10-13

CrackMe_001先打开程序界面熟悉一下这是个Neg窗口等下要把他跳过,点击确认进入界面左边是用户名和密码的序列号保护,右边是仅有密码的序列号保护,用OD载入

2020-10-13 23:49:26 53

原创 CrackMe_008

Crackme_007这个Crackme_007比较简单,我们先打开程序Andrénalin.1熟悉一下界面:输入伪代码 “xiaofuer” 弹出下面的窗口:爆破:打开OD载入程序搜索字符串 ”Leider “:看到了刚刚提示我们的字符串,双击跟进:往上滑看到关键跳转Jge,跳转成功就弹出失败的窗口,直接nop掉,完成爆破~寻找注册码:往上滑来到程序的开头下断点点击 ▶ 让程序跑起来,输入伪注册码,点击OK,程序就在401CD0处断下了,按F8向下走,因为我输入的是 “x

2020-09-22 15:53:57 140

原创 深入理解计算机网络(第二章)

2.62int int_shifts_arithmetic(void) { int32_t x = 0xffffffff; x >> 1; return x == 0xffffffff;

2020-07-02 16:15:25 212

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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