Loading...
Loading...
Compare original and translation side by side
get-symbolsfind-cross-referencesget-decompilationHigh addresses
├── Function arguments
├── Return address ← Critical target for overflow
├── Saved frame pointer
├── Local variables ← Vulnerable buffers here
├── Compiler canaries ← Stack protection (if enabled)
└── Padding/alignment
Low addressesget-decompilationset-bookmarkset-decompilation-commentsearch-decompilationget-symbolsfind-cross-referencesget-decompilation高地址
├── 函数参数
├── 返回地址 ← 溢出的关键目标
├── 保存的帧指针
├── 局部变量 ← 易受攻击的缓冲区位于此处
├── 编译器金丝雀 ← 栈保护(如果启用)
└── 填充/对齐
低地址get-decompilationset-bookmarkset-decompilation-commentsearch-decompilationget-memory-blocksget-dataread-memoryfind-cross-referencesset-commentget-memory-blocksget-dataread-memoryfind-cross-referencesset-commentsearch-decompilationsearch-decompilationget-current-programlist-project-filesget-memory-blocksget-functionssearch-strings-regexget-symbolsget-decompilationfind-cross-referencesset-bookmarkget-current-programlist-project-filesget-memory-blocksget-functionssearch-strings-regexget-symbolsget-decompilationfind-cross-referencesset-bookmarkget-decompilationrename-variableschange-variable-datatypesset-decompilation-commentread-memoryset-bookmarkfind-cross-referencessearch-strings-regexsearch-decompilationget-decompilationrename-variableschange-variable-datatypesset-decompilation-commentread-memoryset-bookmarkfind-cross-referencessearch-strings-regexsearch-decompilationsearch-strings-regexfind-cross-referencesget-symbolsget-decompilationsearch-decompilationset-bookmarkget-decompilationset-commentsearch-strings-regexfind-cross-referencesget-symbolsget-decompilationsearch-decompilationset-bookmarkget-decompilationset-commentset-commentPayload structure:
[padding: 64 bytes] + [saved rbp: 8 bytes] + [return addr: 8 bytes] + [args]set-bookmarkset-bookmarkStep 1: Send 64 bytes padding
Step 2: Overwrite return address with system() address
Step 3: Inject "/bin/sh" pointer as argument
Step 4: Trigger return to execute system("/bin/sh")set-bookmarkset-commentPayload结构:
[填充:64字节] + [保存的rbp:8字节] + [返回地址:8字节] + [参数]set-bookmarkset-bookmark步骤1:发送64字节填充
步骤2:用system()地址覆盖返回地址
步骤3:注入"/bin/sh"指针作为参数
步骤4:触发返回以执行system("/bin/sh")set-bookmarkset-commentset-bookmarkcheckin-programset-commentset-bookmarkcheckin-programpatterns.mdpatterns.mdsearch-decompilationget-decompilationset-decompilation-commentset-bookmarksearch-decompilationget-decompilationset-decompilation-commentset-bookmarkpop reg; retmov [addr], reg; retsyscall; retset-bookmarkset-commentset-bookmarkpop reg; retmov [addr], reg; retsyscall; retset-bookmarkset-commentset-bookmarkget-symbolsfind-cross-referencessearch-strings-regexget-dataset-bookmarkget-symbolsfind-cross-referencessearch-strings-regexget-dataset-bookmarksearch-decompilationrename-variablesset-decompilation-commentset-bookmarksearch-decompilationrename-variablesset-decompilation-commentset-bookmarkchange-variable-datatypesset-bookmarkchange-variable-datatypesset-bookmarkget-symbolssearch-strings-regexsearch-decompilationget-functions-by-similarityget-symbolssearch-strings-regexsearch-decompilationget-functions-by-similarityget-decompilationincludeIncomingReferences=trueincludeReferenceContext=truefind-cross-referencesincludeContext=trueget-dataread-memoryget-decompilationincludeIncomingReferences=trueincludeReferenceContext=truefind-cross-referencesincludeContext=trueget-dataread-memoryrename-variableschange-variable-datatypesset-decompilation-commentset-commentset-bookmarkrename-variableschange-variable-datatypesset-decompilation-commentset-commentset-bookmarkset-bookmarkset-bookmarkset-bookmarkset-bookmarkcheckin-programset-bookmarkset-bookmarkset-bookmarkset-bookmarkcheckin-program__stack_chk_failset-bookmark__stack_chk_failset-bookmark