从汇编生成shellcode的n种方法

第一种,添加asm代码到c中,然后gcc编译生成可执行代码,最后objdump: void main() { asm{ … } } 太麻烦,这里就不详细介绍了,基本上包含在第二种方法中   第二种,直接用NASM或者GAS生成elf文件,然后objdump: nasm -f elf print.asm ld -m elf_i386 -o print print.asm as test.asm -o test.o ld test.asm -o test objdump生成shellcode: objdump -d print2 | grep “^ ” | cut -d$’\t’ -f 2 | tr ‘\n’ ‘ ‘ | sed -e ‘s/ *$//’ | sed -e […]

GDB 调试dumped core文件

在调试堆栈溢出的时候,用gdb加载文件运行的时候的地址会和直接运行的地址有出入,这个时候我们需要先在没有gdb的情况下运行程序,程序崩溃会生成core文件 然后我们用gdb filename core进行调试 我在ubuntu上测试的时候会发现当前目录里面并没有生成core文件,在研究一番后发现需要修改/proc/sys/kernel/core_pattern 文件 然后我们用root来执行下面命令: $> mkdir -p /tmp/cores $> chmod a+rwx /tmp/cores $> echo “/tmp/cores/core.%e.%p.%h.%t” > /proc/sys/kernel/core_pattern 然后在运行文件,然后会在/tmp/cores目录下面生成core文件: ➜ challenge11 git:(master) ✗ ll /tmp/cores total 100K -rw——- 1 kow kow 516K Jan 15 00:07 core.challenge11.25425.ubuntu.1516003636 然后就可以调试了: ➜ challenge11 git:(master) ✗ gdb challenge11 /tmp/cores/core.challenge11.25425.ubuntu.1516003636 GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1 Copyright (C) 2016 Free […]

GDB useful addons or plugins

Helpful GDB Plugins: PEDA PEDA – Python Exploit Development Assistance for GDB https://github.com/longld/peda GEF GDB Enhanced Features https://github.com/hugsy/gef Lisa.py  LLDB Lisa.py: An Exploit Dev Swiss Army Knife. https://github.com/ant4g0nist/lisa.py Voltron Voltron is an extensible debugger UI toolkit written in Python. https://github.com/snare/voltron   How to use GDB debug: http://heather.cs.ucdavis.edu/~matloff/UnixAndC/CLanguage/Debug.html gdb命令笔记 gdb peda常用指令