Windbg在应用层调试漏洞时的应用

  主要记录一些在应用层调试漏洞的技巧,不会写一些基本的命令,只记录比较有用的平时难以想到的调试方法。
  
1、!address eax
查看对应内存页的属性,如果poc触发异常之后就可以用这个指令看一下触发异常的内存地址的情况
2、dc 0x4232390
以DWORD为组织单位查看内存,比dd命令的优点是可以显示ascii码的情况。
3、 ub 0x532930
反汇编给定地址之前的指令,一般对于栈回溯中得到的地址使用这一条命令。因为可以看到回溯函数的调用
4、kb、kv和kp
都是栈回溯,但是kb只显示3个参数,而kp显示所有参数。kv则有额外的调用约定
5、x 函数名
匹配指定模板的符号,可以用来搜索函数
6、断点命令之bp、bu、ba
bp是对地址下断点、bu是对符号下断点。如果符号位置变了(比如在一个dll中),bu会随符号而改变bp不会。ba是对数据下断点,指定访问模式e执行、w写、r读,支持对1、2、4、8个字节,格式为 ba 访问模式 字节数 地址。
bl列出断点、bc删除断点。
7、针对模块的sxe ld:和lmm
lmm可以搜索模块的信息,sxe ld:当模块加载后断下。
8、dds 地址
以地址为基准搜索附近的函数地址,如果有则显示符号和地址。
9、设置记录断点
bp xxxx ".echo 'Here: ';r eip ;gc"  这样断在XXXX的时候就会输出你指定的寄存器的值
10、ln列出附近的符号
在不知道中断处的含义时,可以用ln查看该地址或附近的地址符号。(因为虚函数表是有符号的,所以用来分析对象类型有奇效)
11.在满足条件时中断下来
".if(){}.else{g;}"

12.jscript与jscript9

jscript9!Js::Math::Cos是jscript9的

jscript!Cos

 

!heap也有一些很好用的命令
!heap -stat 显示进程中所有堆的信息,通过这个命令可以找到堆喷分配内存块所属的堆
!heap -a HEAP_HANDLE 显示指定句柄的堆的情况
!heap -stat -h HEAP_HANDLE 可以看到堆中块的分布情况
!heap -flt s size 显示所有指定大小的块
!heap -p -a 堆分配记录

转载于:https://www.cnblogs.com/Ox9A82/p/5704122.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值