Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2017-0038 PoC — Microsoft Windows 安全漏洞

Source
Associated Vulnerability
Title:Microsoft Windows 安全漏洞 (CVE-2017-0038)
Description:gdi32.dll in Graphics Device Interface (GDI) in Microsoft Windows Vista SP2, Windows Server 2008 SP2 and R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012 Gold and R2, Windows RT 8.1, and Windows 10 Gold, 1511, and 1607 allows remote attackers to obtain sensitive information from process heap memory via a crafted EMF file, as demonstrated by an EMR_SETDIBITSTODEVICE record with modified Device Independent Bitmap (DIB) dimensions. NOTE: this vulnerability exists because of an incomplete fix for CVE-2016-3216, CVE-2016-3219, and/or CVE-2016-3220.
Readme
# CVE-2017-0038-EXP-C-JS

详细漏洞分析和Exploit编写过程已经发表在安全客上:
http://bobao.360.cn/learning/detail/3644.html

C Exploit中,少一个printf打印最后的color数组,可以自行添加,也可直接用debug调试观察内存泄露

JS Exploit已经更新一个可以直接打印bitmap的版本
File Snapshot

[4.0K] /data/pocs/4c750ba178420895667675575296dd82f4ac4a74 ├── [ 581] CVE-2017-0038.html ├── [4.0K] poc_cve_2017_0038 │   ├── [4.0K] Debug │   │   ├── [ 26K] poc_cve_2017_0038.exe │   │   ├── [ 397] poc_cve_2017_0038.exe.manifest │   │   ├── [305K] poc_cve_2017_0038.ilk │   │   ├── [451K] poc_cve_2017_0038.pdb │   │   └── [ 248] poc.emf │   ├── [4.0K] ipch │   │   └── [4.0K] poc_cve_2017_0038-778da756 │   │   ├── [ 31M] poc_cve_2017_0038-499f697c.ipch │   │   └── [ 31M] poc_cve_2017_0038-794915fe.ipch │   ├── [4.0K] poc_cve_2017_0038 │   │   ├── [4.0K] Debug │   │   │   ├── [ 878] cl.command.1.tlog │   │   │   ├── [ 14K] CL.read.1.tlog │   │   │   ├── [ 660] CL.write.1.tlog │   │   │   ├── [1.6K] link.command.1.tlog │   │   │   ├── [3.1K] link.read.1.tlog │   │   │   ├── [1.1K] link.write.1.tlog │   │   │   ├── [ 662] mt.command.1.tlog │   │   │   ├── [ 494] mt.read.1.tlog │   │   │   ├── [ 494] mt.write.1.tlog │   │   │   ├── [ 248] poc1.emf │   │   │   ├── [1.9K] poc_cve_2017_0038.Build.CppClean.log │   │   │   ├── [ 371] poc_cve_2017_0038.exe.intermediate.manifest │   │   │   ├── [ 94] poc_cve_2017_0038.lastbuildstate │   │   │   ├── [2.3K] poc_cve_2017_0038.log │   │   │   ├── [ 19K] poc_cve_2017_0038.obj │   │   │   ├── [ 0] poc_cve_2017_0038.write.1.tlog │   │   │   ├── [ 248] poc.emf │   │   │   ├── [147K] vc100.idb │   │   │   └── [ 68K] vc100.pdb │   │   ├── [ 248] poc1.emf │   │   ├── [1.0K] poc_cve_2017_0038.c │   │   ├── [6.8K] poc_cve_2017_0038.vcxproj │   │   ├── [ 943] poc_cve_2017_0038.vcxproj.filters │   │   ├── [ 141] poc_cve_2017_0038.vcxproj.user │   │   ├── [ 248] poc.emf │   │   └── [4.0K] x64 │   │   ├── [4.0K] Debug │   │   │   ├── [ 864] cl.command.1.tlog │   │   │   ├── [ 14K] CL.read.1.tlog │   │   │   ├── [ 676] CL.write.1.tlog │   │   │   ├── [1.7K] link.command.1.tlog │   │   │   ├── [3.2K] link.read.1.tlog │   │   │   ├── [1.1K] link.write.1.tlog │   │   │   ├── [ 686] mt.command.1.tlog │   │   │   ├── [ 510] mt.read.1.tlog │   │   │   ├── [ 510] mt.write.1.tlog │   │   │   ├── [ 248] poc1.emf │   │   │   ├── [2.0K] poc_cve_2017_0038.Build.CppClean.log │   │   │   ├── [ 371] poc_cve_2017_0038.exe.intermediate.manifest │   │   │   ├── [ 92] poc_cve_2017_0038.lastbuildstate │   │   │   ├── [2.3K] poc_cve_2017_0038.log │   │   │   ├── [ 20K] poc_cve_2017_0038.obj │   │   │   ├── [ 0] poc_cve_2017_0038.write.1.tlog │   │   │   ├── [147K] vc100.idb │   │   │   └── [ 76K] vc100.pdb │   │   ├── [ 248] poc.emf │   │   └── [4.0K] Release │   │   ├── [ 884] cl.command.1.tlog │   │   ├── [ 14K] CL.read.1.tlog │   │   ├── [ 684] CL.write.1.tlog │   │   ├── [1.8K] link.command.1.tlog │   │   ├── [3.0K] link.read.1.tlog │   │   ├── [ 952] link.write.1.tlog │   │   ├── [ 708] mt.command.1.tlog │   │   ├── [ 958] mt.read.1.tlog │   │   ├── [ 500] mt.write.1.tlog │   │   ├── [ 248] poc1.emf │   │   ├── [ 371] poc_cve_2017_0038.exe.intermediate.manifest │   │   ├── [ 94] poc_cve_2017_0038.lastbuildstate │   │   ├── [2.7K] poc_cve_2017_0038.log │   │   ├── [ 39K] poc_cve_2017_0038.obj │   │   ├── [ 0] poc_cve_2017_0038.write.1.tlog │   │   ├── [ 248] poc.emf │   │   └── [ 68K] vc100.pdb │   ├── [ 23M] poc_cve_2017_0038.sdf │   ├── [1.2K] poc_cve_2017_0038.sln │   ├── [ 13K] poc_cve_2017_0038.suo │   ├── [ 248] poc.emf │   └── [4.0K] x64 │   ├── [4.0K] Debug │   │   ├── [ 248] poc1.emf │   │   ├── [ 34K] poc_cve_2017_0038.exe │   │   ├── [ 397] poc_cve_2017_0038.exe.manifest │   │   ├── [316K] poc_cve_2017_0038.ilk │   │   ├── [435K] poc_cve_2017_0038.pdb │   │   └── [ 248] poc.emf │   ├── [ 248] poc1.emf │   └── [4.0K] Release │   ├── [7.5K] poc_cve_2017_0038.exe │   ├── [203K] poc_cve_2017_0038.pdb │   └── [ 248] poc.emf └── [ 332] README.md 12 directories, 84 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →