当前位置: 首页 > news >正文

网站服务器怎么配置工程备案信息查询

网站服务器怎么配置,工程备案信息查询,详情页设计理念,网站建设的竞争力docker搭建漏洞复现环境 漏洞原理看帮助文档 # Django debug page XSS漏洞#xff08;CVE-2017-12794#xff09;分析Django发布了新版本1.11.5#xff0c;修复了500页面中可能存在的一个XSS漏洞#xff0c;这篇文章说明一下该漏洞的原理和复现#xff0c;和我的一点点评…docker搭建漏洞复现环境 漏洞原理看帮助文档 # Django debug page XSS漏洞CVE-2017-12794分析Django发布了新版本1.11.5修复了500页面中可能存在的一个XSS漏洞这篇文章说明一下该漏洞的原理和复现和我的一点点评。## 0x01 补丁分析因为官方说明是500页面中出现的BUG所以我们重点关注的就是django/views/debug.py。Github上有Django的仓库下载下来用1.11.4和1.11.5进行比较bash git clone https://github.com/django/django.git cd django git diff 1.11.4 1.11.5 django/views/debug.py ![sp170908_035017](img/django/sp170908_035017.png)可见外部关闭了全局转义然后在这两个地方增加了强制转义。那么漏洞肯定是在这个位置触发的。## 0x02 功能点探索如果要触发这两个输出点就必须进入这个if语句{% ifchanged frame.exc_cause %}{% if frame.exc_cause %}。首先我们来想一下正常情况下这个位置是干嘛用的也就是说功能点是什么。作为一个老年Django开发看到上图画框的这个关键句子The above exception was the direct cause of the following exception:我是有印象的一般是在出现数据库异常的时候会抛出这样的错误语句。我们可以做个简单的测试在Django命令行下我们创建一个username为phith0n的用户然后再次创建一个username为phith0n的用户则会抛出一个IntegrityError异常![sp170908_040738](img/django/sp170908_040738.png)见上图原因是触发了数据库的Unique异常。为什么Django会引入这样一个异常机制这是为了方便开发者进行SQL错误的调试因为Django的模型最终是操作数据库数据库中具体出现什么错误是Django无法100%预测的。那么为了方便开发者快速找到是哪个操作触发了数据库异常就需要将这两个异常回溯栈关联到一块。我们可以看看代码django/db/utils.py的__exit__函数python def __exit__(self, exc_type, exc_value, traceback):if exc_type is None:returnfor dj_exc_type in (DataError,OperationalError,IntegrityError,InternalError,ProgrammingError,NotSupportedError,DatabaseError,InterfaceError,Error,):db_exc_type getattr(self.wrapper.Database, dj_exc_type.__name__)if issubclass(exc_type, db_exc_type):dj_exc_value dj_exc_type(*exc_value.args)dj_exc_value.__cause__ exc_valueif not hasattr(exc_value, __traceback__):exc_value.__traceback__ traceback# Only set the errors_occurred flag for errors that may make# the connection unusable.if dj_exc_type not in (DataError, IntegrityError):self.wrapper.errors_occurred Truesix.reraise(dj_exc_type, dj_exc_value, traceback) 其中exc_type是异常如果其类型是DataError,OperationalError,IntegrityError,InternalError,ProgrammingError,NotSupportedError,DatabaseError,InterfaceError,Error之一则抛出一个同类型的新异常并设置其__cause__和__traceback__为此时上下文的exc_value和traceback。exc_value是上一个异常的说明traceback是上一个异常的回溯栈。这个函数其实就是关联了上一个异常和当前的新异常。最后在500页面中__cause__被输出。## 0x03 漏洞复现经过我的测试我发现在使用Postgres数据库并触发异常的时候psycopg2会将字段名和字段值全部抛出。那么如果字段值中包含我们可控的字符串又由于0x02中说到的这个字符串其实就会被设置成__cause__最后被显示在页面中。所以我们假设有如下场景1. 用户注册页面未检查用户名 2. 注册一个用户名为scriptalert(1)/script的用户 3. 再次注册一个用户名为scriptalert(1)/script的用户 4. 触发duplicate key异常导致XSS漏洞我将上述流程整理成vulhub的一个环境https://github.com/phith0n/vulhub/tree/master/django/C http://your-ip:8000/create_user/?usernamescriptalert(1)/script创建一个用户成功再次访问http://your-ip:8000/create_user/?usernamescriptalert(1)/script触发异常 因为被kali的浏览器拦截了用本机的浏览器实验
http://www.zqtcl.cn/news/313814/

相关文章:

  • 阿克顿巴网站建设的目的智通人才招聘网
  • 网站快速优化成营销型网站制作
  • 网站建设mus18php 网站缓存文件
  • 建设企业网站企业网上银行助手下载泰安网签数据
  • 网站开发产权保护如何去掉2345网址导航
  • 网站数据库怎么备份自建网站步骤
  • 多语言版本的网站做网站西安
  • 蚌埠市住房建设部网站在线免费做网站
  • 天津网站建设网络企业网址模板
  • 如何做京东购物网站旅游前 做攻略有什么网站好用
  • 嘉兴网站推广优化公司wordpress显示系统
  • 网站建站定做空间里怎么放多个网站
  • 清远市企业网站seo联系方式深圳人才市场现场招聘信息
  • 网站制作在哪能看网站开发前台开发
  • 一般网站用什么数据库游戏源码搭建
  • 做国外搞笑网站上海建设工程网站
  • 泰州免费网站建站模板网站建设用python怎么样
  • 优秀作文网站都有哪些企业网站的开发与应用
  • 织梦做网站被告如何再工商局网站做设备抵押
  • 什么是自适应网站怎么做国际购物网站
  • 促销活动推广文案网站加alt属性对优化有影响吗
  • 平湖网站改版洛卡博网站谁做的
  • 买卖平台有哪些网站三航奔腾建设有限公司官方网站
  • 网站建设的企业wordpress teamtalk
  • 公司起名字大全免费查询网站的哪些标签需要优化
  • 装修公司手机网站模板网络营销品牌有哪些
  • 如何保证网站安全在线的crm系统软件
  • 网站名称与主体性质不符wordpress首页锚点
  • 有口碑的常州网站建设传统网站建设
  • 大学网站建设排名金乡网站建设