分析
checksec分析
123➜ pwn checksec --file=bjdctf_2020_babystack2RELRO STACK CANARY NX PIE RPATH RUNPATH Symbols FORTIFY Fortified Fortifiable FILEPartial RELRO No canary found NX enabled No PIE No RPATH No RUNPATH 75) Symbols No 0 1 bjdctf_2020_babystack2
开启了NX保护
ida分析
12345678910111213141516171819202122232425int __cdecl main(int argc, const char **argv, const char **envp){ char buf[12]; // [rsp+0h] [rbp-10h] BYREF size ...
分析
安全保护
1234567[*] '/home/admin233/pwn/ciscn_2019_en_2' Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) Stripped: No
开启了NX,栈上溢出运行不可行了
ida分析
123456789101112131415161718192021222324252627282930313233343536373839int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [rsp+Ch] [rbp-4h] BYREF init(argc, argv, envp); puts("EEEEEEE ...
分析
安全保护
123456Arch: i386-32-littleRELRO: Partial RELROStack: No canary foundNX: NX enabledPIE: No PIE (0x8048000)Stripped: No
ida分析
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061int __cdecl main(int argc, const char **argv, const char **envp){ int result; // eax int v4; // [esp+0h] [ebp-100h] BYREF char src[4]; // [esp+4h] [ebp-FCh] BYREF char v6[124]; // [esp+8h] [ebp-F8h] BYREF cha ...
信息安全
未读分析
checksec
123➜ pwn checksec --file=fm RELRO STACK CANARY NX PIE RPATH RUNPATH Symbols FORTIFY Fortified Fortifiable FILEPartial RELRO Canary found NX enabled No PIE No RPATH No RUNPATH 73) Symbols No 0 2 fm
ida
123456789101112131415161718int __cdecl main(int argc, const char **argv, const char **envp){ char buf[80]; // [esp+2Ch] [ebp-5Ch] BYREF unsigned int v5; // [esp+7Ch] [ebp-Ch] v5 = __readgsdword(0x14u); ...
分析12345Arch: i386-32-littleRELRO: Partial RELROStack: Canary foundNX: NX enabledPIE: PIE enabled
保护全开
ida查看一下逻辑:
12345678910111213141516171819202122232425262728293031323334353637383940int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [esp-14h] [ebp-20h] int v5; // [esp-10h] [ebp-1Ch] var[13] = 0; var[14] = 0; init(); puts("What's your name?"); __isoc99_scanf("%s", var, v4, v5); if ( *(_QWORD *)&var[13] ) ...
信息安全
未读分析直接拖入ida,F5查看源码:
12345int __cdecl main(int argc, const char **argv, const char **envp){ vuln(); return 0;}
查看vuln函数实现:
12345678910111213141516171819202122232425262728int vuln(){ const char *v0; // eax char s[32]; // [esp+1Ch] [ebp-3Ch] BYREF char v3[4]; // [esp+3Ch] [ebp-1Ch] BYREF char v4[7]; // [esp+40h] [ebp-18h] BYREF char v5; // [esp+47h] [ebp-11h] BYREF char v6[7]; // [esp+48h] [ebp-10h] BYREF char v7[5]; // [esp+4Fh] [ebp-9h] BYREF printf("Tell me something ...
信息安全
未读原始 GDB 不适合用于逆向工程和漏洞开发。输入x/g30x $esp并不好玩,而且无法提供太多信息。因此,pwndbg便应运而生。pwndbg是一个直接加载到 GDB 中的 Python 模块,它提供了一套实用程序和辅助工具来解决 GDB 中的所有问题并消除粗糙的边缘。
安装123git clone https://github.com/pwndbg/pwndbg.gitcd pwndbg./setup.sh
配置
查看
1cat .gdbinit
保留pwndbg source,其他的注释掉
使用指令
help //帮助
i //info,查看一些信息,只输入info可以看可以接什么参数,下面几个比较常用
i b //常用,info break 查看所有断点信息(编号、断点位置)
i r //常用,info registers 查看各个寄存器当前的值
i f //info function 查看所有函数名,需保留符号
show //和inf ...
信息安全
未读分析
checksec
123➜ pwn checksec --file=pwnRELRO STACK CANARY NX PIE RPATH RUNPATH Symbols FORTIFY Fortified Fortifiable FILEPartial RELRO Canary found NX enabled No PIE No RPATH No RUNPATH No Symbols No 0 2 pwn
ida
123456789101112// positive sp value has been detected, the output may be wrong!void __usercall __noreturn start(int a1@<eax>, void (*a2)(void)@<edx>){ int v2; // esi int v3; // [esp-4h] [ebp-4 ...
分析
checksec:
123456Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) Stripped: No
开启了nx保护
ida分析
123456int __cdecl main(int argc, const char **argv, const char **envp){ be_nice_to_people(); vulnerable_function(); return write(1, "Hello, World\n", 0xDu);}
查看vulnerable_function函数:
12345ssize_t vulnerable_function(){ char buf[136]; // [esp+10h] [ebp-88h] BYREF return read(0, buf, ...
今天刚刚写完上周的模块,上周因为去泸州了,所以没做模考,刚刚昨完题,对了一下答案,然后突然来了个电话,是个好消息,国企的面试通过啦!
也挺以外的,为什么这么说呢?因为很多国企其实是半结构化面试,和公务员面试很像,然后我对这种面试有经验,所以丝毫不慌张,但是那天我进入面试考场时,拿到题目的瞬间,好家伙,不是半结构化,是专业面试,突然就有点荒了,不过仔细看了一下题目,其实也不难,很快,而且很有条理,我整理了回答思路,不过对于最后一题,有个专业术语,我确实不知道,然后我也很诚恳说了不知道,但是心理确实有些不稳了,因为这是专业面试。
接下来就是面试官的轮番拷问了,但是因为我真实的工作经历以及业务范围,和该公司不一样,所以心里其实感觉可能没戏了,但是我不能表现出来,是什么就说什么,诚恳些,不匹配就不匹配,没啥的。
刚和老板聊了一下相关流程、制度、业务、福利这些信息,感觉还不错,公司环境我当时也看过,很不错!!!位置、设施都很棒!
而且还有一个点,就是目前公司处于孵化阶段,想要从事的业务目前是没有资质的,所以需要员工考证,这也是试用期考核的重要指标,那这不难啊,考试嘛,这个我很擅长,而且还是计算 ...













