关联漏洞
标题:Haxx cURL和libcurl 拒绝服务漏洞 (CVE-2015-3145)Description:Haxx curl和libcurl都是瑞典Haxx公司的产品。curl是一套利用URL语法在命令行下工作的文件传输工具。libcurl是一个免费、开源的客户端URL传输库。 Haxx cURL和libcurl 7.31.0版本至7.41.0版本的‘sanitize_cookie_path’函数中存在安全漏洞,该漏洞源于程序没有正确计算索引。远程攻击者可借助只有双引号字符的cookie路径利用该漏洞造成拒绝服务(越边界写入和崩溃)。
介绍
# Демонстрация бага CVE-2015-3145
## описание бага
Основное описание описано здесь: [CVE-2015-3145](https://curl.se/docs/CVE-2015-3145.html).
Для демонстрации используется sanitize_cookie_path()
из версии libcurl — 7.34.0, [можно скачать архивом отсюда](https://curl.se/download/).
Функция некорректно обрабатывает входные данные, и передав в нее путь состоящий из двойной кавычки либо нуль-байта
## сборка и старт
Чтобы AFL успешно мог крашнуть программу была написана простая обёртка cover.c над sanitize_cookie_path(),
чтобы тестовый ввод аргументов через файл работал коректно через stdin.
Для сборки всй установки, установки необходимых зависимостей и запуска
используйте готовый bash-скрипт ./build_and_start.sh
ВАЖНО! скрипт должен запускатся с правами root для испрвного старта работы AFL-фаззера.
На вход подаётся заранее подготовленный скриптом-сборшиком файл в директории inputs содержащий строку с url, который содержит '"'.
Для повышения чувствительности использовался встроенный функционал,
который очень эффективно детектит ошибки памяти - clang ASAN - [Address Sanitizer](https://clang.llvm.org/docs/AddressSanitizer.html)
После запуска почти стразу фаззер задетектит краш программы, результаты и вывод можно увидеть в директории out

## официальная документация AFL
[ссылка на документацию](https://afl-1.readthedocs.io/en/latest/quick_start.html)
文件快照
[4.0K] /data/pocs/e22b5feed93ae6274812f4c2f4be336b3e0c757c
├── [ 66K] afl-start-example.jpg
├── [ 872] build_and_start.sh
├── [4.0K] curl_path_san_cover
│ ├── [ 131] CMakeLists.txt
│ └── [1.4K] cover.c
├── [2.3K] README.md
└── [697K] Отчёт по развёртке AFL.pdf
1 directory, 6 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮件到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对 POC 代码进行快照,为了长期维护,请考虑为本地 POC 付费/捐赠,感谢您的支持。