gdb经常使用命令及格式化字符串漏洞

1、gdb命令html

set argsspa

break3d

b(break) 1.c:6  在1.c文件的第6行设置断点指针

b(break) func        printf也算一个func??htm

b 地址blog

info字符串

显示各类信息的
get

info all-register
it

info line main
编译

x

很好用,能够查看各类变量包括寄存器栈(rbp)里面的变量等

https://www.cnblogs.com/adamwong/p/10538019.html

2、格式化字符串漏洞

https://www.dazhuanlan.com/2019/12/27/5e04fdef7abf3/?__cf_chl_jschl_tk__=482074d41e363ddde51046469a67f0469fb6d916-1591701686-0-AXIxk_o_up4RDQRhwuRO02FVzY5MVUXR9_6yuK3mbgUzrt2GGdadKzvSaK9UftjQ2C4VwgC1oPdwKqxBk7Q6Fe2glmVhfzG6gwcQjteeMpD3JGNYcFUJoWftFo1aSkeOIFNkkP4cLC4RYEpubO5n3iA03eP3xrnTAOxx5I-68JInRpkbUkrTk6KHm6v6IgnzYWM4XqyLXFUxR-jdDIFMw3yzASrYNWe47m4Z9YtBDUEMgLik9Fp3D_vN5oVsRq9fFLAcX1R2LkyfwconDR02aZKg9TZHJHym5B1SdQLIMafRcCz7Sv1f_cM1GdzCLmH0hw

emmm,主要有%n,%k$的利用以及利用gdb查看变量位于printf的第几个参数(加了-m32(做用是指针啥的都是32位)的,printf输出的那个值通常都位于第6个吧)

全局变量的地址能够直接经过objdump -t 程序找到,程序编译的时候可加个参数-no-pie(反正最直接的就是能够看到使用objdump -t看地址的时候只能看到低4位)

相关文章
相关标签/搜索