首页
社区
课程
招聘
[原创]漏洞挖掘方法之静态扫描+经典栈溢出实例
发表于: 2014-2-11 01:52 10654

[原创]漏洞挖掘方法之静态扫描+经典栈溢出实例

2014-2-11 01:52
10654
#!/usr/bin/env python
#coding:utf-8
"""
  Author:   tishion--<tishion@163.com>
  Purpose: 
  Created: 2014/2/9
"""
import os
import sys
import string
from symscan import ImportSymScanner
from reportmaker import ReportMaker

g_str_help =  """
Usage: python bca <target-dir>
    target-dir : target directory path to be scanned.
e.g:
    python bca "c:\window\system32"
"""

def main():
    global g_str_help
    
#process command line arguments
    if len(sys.argv) <= 1:
        print 'Sytanx Error: missing argument.'
        print g_str_help
        return
        
    target_dir = sys.argv[1]
    
    if not os.path.isdir(target_dir):
        print 'Error: the target-dir:[' + target_dir + '] is not a directory!'
        return
    
    #创建一个扫描器
    sc = ImportSymScanner()
    #添加需要扫描的目标函数
sc.add_sym('msvcr90.dll', ('wcscpy', 'strcpy', 'swprintf'))
    sc.add_sym('msvcr80.dll', ('wcscpy', 'strcpy', 'swprintf'))
    sc.add_sym('msvcrt.dll', ('wcscpy', 'strcpy', 'swprintf'))
    sc.add_sym('kernel32.dll', ('lstrcpyA', 'lstrcpyW', 'lstrcatA', 'lstrcatW'))
    
    #开始扫描
    print 'Scanning ...'
    rl = sc.do_check(target_dir)
    print 'Scanning is Done!'
    
    #生成报告
    rm = ReportMaker()
    print 'Generating report ...'
rm.GenerateNewReport(target_dir, rl)
#打开报告文件
    print 'Opening report ...'
    rm.OpenReport()

if __name__ == '__main__':
    main()
F:\Projects\Python\BinCodeAudit>bca.py "F:\Program Files (x86)\SysinternalsSuite"
Scanning ...
Scanning is Done!
Generating report ...
Opening report ...
bp kernel32!lstrcpyW "du poi(@esp+8);g"

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 5
支持
分享
最新回复 (57)
雪    币: 7
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好东西留着以后看。
2014-2-11 02:04
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
膜拜大牛!!
2014-2-11 03:49
0
雪    币: 110
活跃值: (308)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
膜拜大牛
2014-2-11 07:48
0
雪    币: 1392
活跃值: (5177)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
5
漏洞挖掘只能靠一个个项目去测试?
2014-2-11 08:43
0
雪    币: 341
活跃值: (138)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
6
坐等精华、、、、、、、、
2014-2-11 09:01
0
雪    币: 138
活跃值: (470)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
好文! 受益之!
2014-2-11 09:11
0
雪    币: 3480
活跃值: (246)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
前排留名。
2014-2-11 10:59
0
雪    币: 146
活跃值: (182)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
9
你这相当于手动fuzz了 哈哈
2014-2-11 18:14
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
好文,mark
2014-2-12 09:53
0
雪    币: 29
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
11
不错,一直想学漏洞挖掘却又觉着特别的神秘,于是就从漏洞利用方法开始入手学习,学完栈溢出,堆溢出,格式化漏洞利用之后,还是不知道如何进行漏洞挖掘,楼主的一篇文章让愚某茅塞顿开啊,还麻烦楼主多发一些漏洞挖掘实现方法中的思路
2014-2-12 10:26
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
好贴!!
2014-2-12 15:58
0
雪    币: 211
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
快来膜拜大牛~
2014-2-12 16:21
0
雪    币: 1705
活跃值: (1665)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
其实halvar_flake的bugscam更实用。

测试各种接口,远程注入DLL到待fuzz的对象进程中进行异常捕获生成dump(不一定捕获得到,可动态调试.就这么个思路),然后枚举各类接口,这些接口包括但不仅限于管道、油槽、共享内存、消息IO。接着自动化发畸形包。有的数据麻烦就hook着改

仅供参考
2014-2-12 17:15
0
雪    币: 253
活跃值: (46)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
一个手动fuzz的过程。感谢分享~
2014-2-12 17:19
0
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
16
你应该是百度那次高手论剑中的nObele吧??幸会幸会
2014-2-12 19:00
0
雪    币: 2323
活跃值: (4113)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
17
学习一个
2014-2-13 10:12
0
雪    币: 341
活跃值: (85)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
18
占个坑先
2014-2-13 10:46
0
雪    币: 116
活跃值: (70)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
19
支持一下,其实后半段手动的部分也可以做成自动化的
2014-2-14 16:31
0
雪    币: 25
活跃值: (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
多谢楼主分享经验
2014-2-14 17:03
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
期待下一篇。。
2014-2-19 14:27
0
雪    币: 1140
活跃值: (3166)
能力值: ( LV12,RANK:385 )
在线值:
发帖
回帖
粉丝
22
虽然没有仔细看内容,感觉应该给个精华.
这么长时间没有反应,版主去哪里了?
2014-2-19 14:33
0
雪    币: 55
活跃值: (519)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
23
很好,非常好的一篇文章。
2014-2-19 14:48
0
雪    币: 1351
活跃值: (262)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
漏洞挖掘好好学习
2014-2-19 22:15
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
mark
2014-2-21 17:33
0
游客
登录 | 注册 方可回帖
返回
//