当前位置: 首页 > news >正文

图书馆网站建设工作总结数字化营销与传统营销的区别

图书馆网站建设工作总结,数字化营销与传统营销的区别,wordpress 优惠插件,无锡企业网上迁移Beacon是一个定向模糊测试工具,给定行号,能够定向探索行号附近的代码区域。主要思想是采用静态分析的方法获取到与目标有关的变量的最弱前置条件(weakest precondition)的信息,并在相关位置插入断言,来提前…

Beacon是一个定向模糊测试工具,给定行号,能够定向探索行号附近的代码区域。主要思想是采用静态分析的方法获取到与目标有关的变量的最弱前置条件(weakest precondition)的信息,并在相关位置插入断言,来提前终止模糊测试执行与目标无关的输入,提高模糊测试的吞吐量来提高效率。

关于这篇工作的具体介绍,可以参考该链接的解读:https://zhuanlan.zhihu.com/p/531371498

0. 安装

docker 拉取Beacon的镜像

docker pull yguoaz/beacon

使用方法见该链接:https://outstanding-hydrogen-2d1.notion.site/Beacon-documentation-8480ed4e7fff452a989f7e77ce749951

官方教程给出了基本的操作说明,这里打算实际复现下这个过程。

1. 分析precondition

/Beacon/precondInfer /Beacon/Test/swftophp-2017-7578.bc -target-file=/Beacon/Test/cstest.txt -join-bound=5

这个例子中:

  • /Beacon/Test/swftophp-2017-7578.bc是目标程序的字节码
  • /Beacon/Test/cstest.txt 是给定的行号。比如包含下面的内容
parser.c:66

给定的行号通常是漏洞的崩溃点,一般通过CVE数据库里的崩溃报告来获取。

执行上面命令后会输出三个文件:

  • bbreaches_Beacon_Test_cstest.txt : 能到达目标指令的基本块集合。
  • range_res.txt : 范围分析结果
  • transed.bc : 转换后的字节码用于后续的处理

bb_reaches_Beacon_Test_cstest.txt内是一堆数字,下面节选了一部分,应该是LLVM IR中间层的基本块的ID。

2676
38526
27001
7456
37338
19712
38153
1958
37059
33506
2190
37077

range_res.txt是前置条件分析的结果,包含了变量的取值范围等信息。

    {"fun": "outputTrailer_0x2608af8","funLoc": 7320,"instRes": [],"argRes": [],"unreachbb": [7353,7369]},{"fun": "parseSWF_DEFINEMORPHSHAPE_0x25efb78","funLoc": 32260,"instRes": [{"value": "  %62 = icmp ne void (i8*, ...)* %61, null, !dbg !7087","range": "[0,0]","line": 32343}],"argRes": [],"unreachbb": [32347]}

2. 插桩

插桩过程利用上面输出的信息,

/Beacon/Ins -output=/Beacon/Test/CVE-2017-7578.bc \
-byte -blocks=/Beacon/Test/bbreaches-CVE-2017-7578.txt \
-afl -log=log.txt -load=/Beacon/Test/outputs/range_res.txt \/Beacon/Test/outputs/transed.bc

各个选项的含义:

  • -output:输出插桩后的字节码文件
  • -blocks:接收可达的基本块列表,就是前面生成的bb_reaches_Beacon_Test_cstest.txt
    • 需要注意,默认情况下,可达性分析的结果是基于字节码的,因此需要使用-byte选项
    • 如果用户自己做了源码级的可达性分析,可以用-src选项。并且提供可达的行号,形式为“文件名:行号”
  • -load: 获取precondition,比如前面生成的range_res.txt
  • -afl:允许AFL覆盖率追踪的插桩
  • -asan选项:默认是关掉的,可能会导致功能性错误

然后将字节码编译为可执行的二进制文件,注意需要链接一些动态库。

clang /Beacon/Test/CVE-2017-7578.bc -o /Beacon/Test/CVE-2017-7578 -lm -lz /Beacon/Test/afl-llvm-rt.o

3. 开始fuzz

最后执行afl-fuzz命令

/Beacon/afl-fuzz -i /Beacon/Test/in -o /Beacon/Test/fuzz-output -m none -t 9999 -d -- /Beacon/Test/CVE-2017-7578 @@

总体流程和其他工作差不多。

4. 再来测试下Libtiff

由于镜像中没有提供生成字节码的文件,所以需要提前安装gllvm或者wllvm,这里就不再赘述。

然后准备好libtiff的目标文件,cstest.txt和libtiff种子文件夹in放在/Beacon/libtiff_test文件夹下

直接运行下面脚本即可,需要注意下面脚本假设gllvm放在/Beacon/文件夹下。

cd /Beacon/libtiff_test
git clone https://gitlab.com/libtiff/libtiff.git 
cd libtiff
export CC=/Beacon/gllvm/gclang 
export CXX=/Beacon/gllvm/gclang++ 
./autogen.sh
./configure --disable-shared
make clean 
make 
cd tools/
/Beacon/gllvm/get-bc tiffcp
mv tiffcp.bc /Beacon/libtiff_test/
/Beacon/precondInfer /Beacon/libtiff_test/tiffcp.bc -target-file=/Beacon/libtiff_test/cstest.txt -join-bound=5
/Beacon/Ins -output=/Beacon/libtiff_test/tiffcp.ci.bc \
-byte -blocks=/Beacon/libtiff_test/bbreaches__Beacon_libtiff_test_cstest.txt \
-afl -log=log.txt -load=/Beacon/libtiff_test/range_res.txt \/Beacon/libtiff_test/transed.bcclang /Beacon/libtiff_test/tiffcp.ci.bc -o /Beacon/libtiff_test/tiffcp -lm -lz /Beacon/Test/afl-llvm-rt.o/Beacon/afl-fuzz -i /Beacon/libtiff_test/in -o /Beacon/libtiff_test/fuzz-output -m none -t 9999 -d -- /Beacon/libtiff_test/tiffcp @@ 

另外,如果给的是无效的target,在运行precondInfer命令时会报如下错误:

malformed target file -- exiting!
http://www.yayakq.cn/news/225284/

相关文章:

  • dw响应式网站模板微信网站的好处
  • 电子商务网站建设的结论免费开网店免费供货
  • 成都专业的整站优化北京公司网站设计电话
  • 网站统计 中文域名广告设计公司vi设计
  • 新网站怎么做网络推广软件开发外包交易平台
  • php图片网站源码app制作免费
  • 关于申请网站建设维护经费吉安做网站
  • vi设计网站大全免费咨询律师软件
  • 给非法公司做网站维护中国电子商务研究中心官网
  • 环保网站 下载中国联合网络通信有限公司
  • 网站建设贰金手指科杰2较好的网站建设公司
  • 手工活接单在家做有正规网站吗中国联通网站建设与维护
  • 网站用的什么字体正规网站建设咨询电话
  • 凭祥网站建设dw网页制作在线编辑
  • 做百度推广去些网站加客户网站系统升级维护需要多长时间
  • 湖北建设信息网站网站建设捌金手指花总二九
  • 河北固安县网站建设旅游网站怎么做
  • 一起做彩票网站的人网站后台发了文章看不到
  • 图书馆网站建设需求分许基于asp的网站开发
  • 网站文章好几天不收录房地产型网站建设报价
  • 网站运营年度推广方案深圳网站外包公司
  • 使用三剑客做网站织梦网站响应式模板免费下载
  • 湛江网站开发哪家专业中信建设有限责任公司官方网站
  • 深圳网站设计电话建网站需要多钱
  • 抓好门户网站建设做企业宣传片的网站
  • 如何用腾讯云做网站清风夏邑进入公众号
  • 中金超钒 网站建设2o17甘孜建设网站
  • 重庆网站的建设各大招聘网站
  • 华为外包做的网站丽江市建设局网站
  • 网站安全设置教程广西桂林旅游攻略自由行攻略