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

Goal: 1000 CNY · Raised: 1020 CNY

100%

CVE-2020-7471 PoC — Django SQL注入漏洞

Source
Associated Vulnerability
Title:Django SQL注入漏洞 (CVE-2020-7471)
Description:Django 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3 allows SQL Injection if untrusted data is used as a StringAgg delimiter (e.g., in Django applications that offer downloads of data as a series of rows with a user-specified column delimiter). By passing a suitably crafted delimiter to a contrib.postgres.aggregates.StringAgg instance, it was possible to break escaping and inject malicious SQL.
Description
Reproduce CVE-2020-7471
Readme
# CVE-2020-7471
SQL injection via StringAgg delimeter input

# Setup:
Run `./setup.sh` for initial setup

Open the docker image to initiate the database:
`docker exec -it {container_id} /bin/bash`
And run the following commands:
```
python manage.py makemigrations vul_app
python manage.py migrate
```

Start the instances using: 
`docker-compose up`

Now open the following URL to load sample data:

http://localhost:8000/vul_app/setupdb

Then go to the vulnerable page at:
http://localhost:8000/vul_app/

Exploit the parameter at:
http://localhost:8000/vul_app/?delim=!@#
File Snapshot

[4.0K] /data/pocs/8e72261b874f284d48257fbcb53a3e4e90b2c658 ├── [4.0K] cve20207471 │   ├── [ 415] asgi.py │   ├── [3.6K] settings.py │   ├── [ 860] urls.py │   └── [ 415] wsgi.py ├── [ 387] docker-compose.yml ├── [ 159] Dockerfile ├── [ 574] README.md ├── [ 37] requirements.txt ├── [ 181] setup.sh └── [4.0K] vul_app ├── [ 66] admin.py ├── [ 151] apps.py ├── [ 259] models.py ├── [4.0K] templates │   └── [ 829] index.html ├── [ 63] tests.py ├── [ 179] urls.py └── [1.0K] views.py 3 directories, 16 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 →