工具

安全测试工具

1.自动化模糊测试框架(BFF)- linux和Mac OS X上的fuzzer工具

Basic Fuzzing Framework (BFF)是CERT发布的自动化dumb fuzzing工具。它能够发现在linux和Mac OS X平台上运行的应用程序的漏洞。BFF在自动收集测试情况下,以独特的方式,导致软件崩溃,以及输出相关的调试信息。
BFF主要由两个部分构成:
一个为Fuzzing优化过的Linux虚拟机文件。
一系列支持Fuzzing运行的脚本和配置文件。
使用BFF的简单用法:
解压 scripts.zip 到 c:\fuzz。
解压 DebianFuzz.zip 到任意目录。
用VMware打开DebianFuzz.vmx。VMware创建一个快照。
下载地址
http://www.cert.org/vulnerability-analysis/tools/bff.cfm

虚拟地址与物理地址映射文件pagemap

PageMAP linux下的文件
* /proc/pid/pagemap. This file lets a userspace process find out which
physical frame each virtual page is mapped to. It contains one 64-bit
value for each virtual page, containing the following data (from
fs/proc/task_mmu.c, above pagemap_read):

详细描述地址 https://www.kernel.org/doc/Documentation/vm/pagemap.txt

我们根据上述描述,给出获取虚拟地址对应的物理地址的代码

#<include <stdio.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#define    page_map_file     "/proc/self/pagemap"
#define    PFN_MASK          ((((uint64_t)1)<<55)-1)
#define    PFN_PRESENT_FLAG  (((uint64_t)1)<<63)
int mem_addr_vir2phy(unsigned long vir, unsigned long *phy)
{
    int fd;
    int page_size=getpagesize();
    unsigned long vir_page_idx = vir/page_size;
    unsigned long pfn_item_offset = vir_page_idx*sizeof(uint64_t);
    uint64_t pfn_item;

    fd = open(page_map_file, O_RDONLY);
    if (fd<0)
    {
        printf("open %s failed", page_map_file);
        return -1;
    }


    if ((off_t)-1 == lseek(fd, pfn_item_offset, SEEK_SET))
    {
        printf("lseek %s failed", page_map_file);
        return -1;
    }


    if (sizeof(uint64_t) != read(fd, &pfn_item, sizeof(uint64_t)))
    {
        printf("read %s failed", page_map_file);
        return -1;
    }


    if (0==(pfn_item & PFN_PRESENT_FLAG))
    {
        printf("page is not present");
        return -1;
    }


    *phy = (pfn_item & PFN_MASK)*page_size + vir % page_size;
    return 0;


}

如果担心vir地址对应的页面不在内存中,可以在调用mem_addr_vir2phy之前,先访问一下此地址。

例如, int  a=*(int *)(void *)vir;

如果担心Linux的swap功能将进程的页面交换到硬盘上从而导致页面的物理地址变化,可以关闭swap功能。

下面两个C库函数可以阻止linux将当前进程的部分或全部页面交换到硬盘上。

   int mlock(const void *addr, size_t len);
   int mlockall(int flags);

cpu-z工具(windows平台)

CPU-Z是最权威的处理器和相关系统信息识别工具。体积小巧,界面简洁、启动很快,可准确的检测出CPU、主板、内存、显卡、SPD等硬件信息,包含了制造厂及处理器名称,核心构造及封装技术,内部、外部频率,最大超频速度侦测,也可以查出处理器相关可使用的指令集。利用它可看到哪家厂牌、内频、Cache等玩家常提到的数据,更包括SelfSnoop、CMOVccInstruction这些专家才看得懂的资讯与数据。

软件地址

Linux平台上类似CPU-Z的系统分析工具

基于Python的CPU-Z替代CPU-G
基于Gambas的CPU-Z替代I-Nex
依据SMBDIOS/DMI 标准报告系统硬件信息的dmidecode
i7、i5和i3 CPU报告工具i7z
HardInfo
lshw / lshw-gtk

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值