pwn好菜,pwn就出了一个题,堆题做不出
nmanager可以用printf %s泄露libc的地址,然后打ret2libc,n为8刚刚好到rbp那
12345678910111213141516171819202122232425262728unsigned __int64 __fastcall modify(__int64 a1){ char buf[24]; // [rsp+10h] [rbp-20h] BYREF unsigned __int64 v3; // [rsp+28h] [rbp-8h] v3 = __readfsqword(0x28u); do ...
pwnable.tw持续更新
start检查一下保护 和查看每个段的权限发现,栈上有可执行权限
12345678lhj@lhj-virtual-machine:~/Desktop/pwntw/start$ checksec start[*] '/home/lhj/Desktop/pwntw/start/start' Arch: i386-32-little RELRO: No RELRO Stack: No canary found NX: NX disabled PIE: No PIE (0x8...
pwnbasic-overflow
有一个shell函数,栈溢出覆盖返回地址为shell
1234567int __cdecl main(int argc, const char **argv, const char **envp){ char v4[64]; // [rsp+0h] [rbp-40h] BYREF gets(v4, argv, envp); return 0;}
1234int shell(){ return execve("/bin/sh", 0LL, 0LL);}
exp
1234567891...
fd程序逻辑是这样的, 从fd里读数据,如果数据为LETMEWIN就会输出flag。那可以让fd = 0 (标准输入),让read去read我的输入,然后再输入LETMEWIN
123456789101112131415161718192021#include <stdio.h>#include <stdlib.h>#include <string.h>char buf[32];int main(int argc, char* argv[], char* envp[]){ if(argc<2){ ...
pyjalilevel 11__import__('os').system('cat /flag')
level21f"{__import__('os').system('cat /flag')}"
level3有一个字符长度限制,测试一下长度13,试了一下breakpoint可以使用,可以用breakpoint打开一个调试器去绕过这个长度限制
1234567891011121314151617181920212223lhj@lhj-virtual-machine:...
Hackergame 启动Hackergame启动!发现校验相似度是在前端校验的,然后通过url传参相似度,传递个100过去就拿到flag了
更深更暗在main.js里有一段生成flag的代码,在控制台中调用就好了
12345async function getFlag(token) { // Generate the flag based on user's token let hash = CryptoJS.SHA256(`dEEper_@nd_d@rKer_${token}`).toString(); return `fla...
re点击就送的逆向题.S的文件 使用as命令来汇编一下,然后ida打开分析逻辑
1as -o output.o input.S
置反一下逻辑
1234567891011121314151617int __cdecl main(int argc, const char **argv, const char **envp){ int i; // [rsp+Ch] [rbp-54h] char s1[32]; // [rsp+10h] [rbp-50h] BYREF char s2[40]; // [rsp+30h] [rbp-30h] BYREF unsigned __i...
REReverse入门指北12if ( *(_DWORD *)v7 == 13 ) sub_401082(aMoectfF1rstSt3, v6);
1aMoectfF1rstSt3 db 'moectf{F1rst_St3p_1s_D0ne}',0Ah,0
base_64pycdc 下载 编译
发现是base64变种
http://web.chacuo.net/netbasex
把索引表复制进去解密拿到flag
UPX!exeinfope中看到是upx 3.9 脱壳后
12345678910111213for ( j = 0; ; +...
REeasy_RE确实是打开就有
1flag{we1c0me_to_rev3rse!!}
elfinputString 先异或然后+16 然后base64encode后和flag cmp,decode后-16 异或就好了
1234s1 = (char *)base64_encode(v6, v3); if ( !strcmp(s1, "VlxRV2t0II8kX2WPJ15fZ49nWFEnj3V8do8hYy9t") ) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234...
REcrackme运行就拿到flag了?看了一下是upx3.96
babyRe反编译了一下,大概是这样一个逻辑,rsa
123456789101112131415import libnumfrom crypto.Util.number import *flag = 'ISCTF{******************}'flags = flag.encode()e = 65537p = libnum.generate_prime(1024)q = libnum.generate_prime(1024)n = p * qm = bytes_to_lon...