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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2016-5699 PoC — Python 注入漏洞

Source
Associated Vulnerability
Title:Python 注入漏洞 (CVE-2016-5699)
Description:Python是Python基金会的一套开源的、面向对象的程序设计语言。该语言具有可扩展、支持模块和包、支持多种平台等特点。 Python 2.7.10之前版本、3.x 版本至3.4.4之前版本存在注入漏洞。远程攻击者利用该漏洞通过URL中的CRLF序列注入任意HTTP头。
Description
Reading Course Report
Readme
# cve-2016-5699-report
Reading Course Report

This repo references an [example](https://github.com/bunseokbot/CVE-2016-5699-poc).

`simple-client.py` is a Python script to make HTTP requests to the URL passed from a command argument.  
`simple-server.py` uses Flask to construct a simple HTTP server to print the headers of received requests.

## Set Up
* Install virtualenv, `pip install virtualenv`
* Get two versions of Python for comparison, one before 2.7.10, the other after 2.7.10. This [link](http://mbless.de/blog/2016/01/09/upgrade-to-python-2711-on-ubuntu-1404-lts.html) might be useful.
* Create two Python environments with `virtualenv`. For example:
  * `virtualenv -p [path_to_one_Python_version] venv-one-version`
  * `virtualenv -p [path_to_the_other_Python_version] venv-the-other-version`
* Install `flask` in both environments. Activate corresponding environment, and `pip install flask`

## Run
* Choose the version you want to use, activate using `source ./venv-one-version/bin/activate`
* To start the server, simply run `python simple-server.py`
* To run the client:
  * run `python simple-client.py http://127.0.0.1:8000/test-url` for healthy URL
  * run `python simple-client.py http://127.0.0.1%0d%0aX-injected:%20header%0d%0ax-leftover:%20:8000/test-url` for malicious URL

## References:
* http://blog.blindspotsecurity.com/2016/06/advisory-http-header-injection-in.html
* https://github.com/bunseokbot/CVE-2016-5699-poc
* https://hg.python.org/cpython/rev/1c45047c5102
File Snapshot

[4.0K] /data/pocs/0ede2ed18eae4f2d5b11d517774a164b9d7ca623 ├── [526K] CVE_2016_5699_Report.pdf ├── [1.5K] README.md ├── [ 350] simple-client.py └── [ 323] simple-server.py 0 directories, 4 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.