影响版本:
Django 1.3
Django 1.2.5
Django 1.3 beta 1
Django 1.2.4
Django 1.2.2
Django 1.2
漏洞描述:
Django是一款开放源代码的Web应用框架,由Python写成。
Django存在多个安全漏洞,允许攻击者获得敏感信息,操作数据,执行远程命令,进行缓存毒药攻击或进行拒绝服务攻击。
1)当使用缓存后端时django.contrib.sessions中处理会话存在错误,可被利用操作会话信息。要成功个利用漏洞需要已知会话KEY和应用程序允许攻击者使用合法会话KEY储存字典类对象到缓冲中。
2)Django模型系统包括一个字段类型– URLField –,用于校验提供的值是否为合法URL,如果布尔关键字参数verify_exists为真,会尝试校验提供的URL并解析。默认情况下,底层套接字没有 超时设置,攻击者可以利用此漏洞发送特制URL消耗所有服务器内存,造成拒绝服务攻击。
3)当校验提供给”URLField”字段类型的URLs处理重定向应答存在错误,攻击者可以利用此漏洞把重定向应答返回给”file://” URL,可判断服务器上的本地文件是否存在。
4)当生成重定向应答的全路径URL时处理”X-Forwarded-Host” HTTP头存在错误,攻击者可以利用此漏洞进行缓存毒药攻击。
5)Django1.3输入检验漏洞导致攻击者可远程执行命令。