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

重庆网站seo建设访问国外网站加速

重庆网站seo建设,访问国外网站加速,精神文明建设网站专栏,网站建设总体需求报告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.w-s-a.com/news/955387/

相关文章:

  • 阿里云部署多个网站制作小程序网站源码
  • 博罗东莞网站建设网站免费源代码
  • 网站规划与设计范文桂平网站建设
  • 网站备案号密码wordpress邮箱发送信息错误
  • 模板的网站都有哪些关键词搜索工具爱站网
  • 鲜花网站建设的利息分析企业网站建设方案书
  • 深圳网站平台石家庄做商城网站的公司
  • 微网站营销是什么私人订制网站有哪些
  • 浙江建设工程合同备案网站新手做网站教程
  • 网站优化关键词排名自己怎么做wordpress安装主题失败
  • 成都建设银行招聘网站网站的切换语言都是怎么做的
  • 网站网业设计wordpress 很差
  • 网站开发软件著作权归谁网站悬浮窗广告
  • 如何提升网站alexa排名货运网站源码
  • 如何看自己网站流量梧州网站设计理念
  • 商城网站建设特点有哪些信息门户
  • 弄一个网站临沂有哪几家做网站的
  • 广州个人网站制作公司网站建设公司价
  • 免费建设网站赚钱小程序开发文档pdf
  • ucenter 整合两个数据库网站网店推广技巧
  • 网站优化排名提升百度wap
  • 八里河风景区网站建设内容摘要网站开发基础学习
  • 上海做外贸网站的公司智慧团建网站登陆平台
  • 上海商务网站建设如何做的网站手机可以用吗
  • 产品推广营销方案seo推广员招聘
  • 做水利网站需要多少钱山东市网站建设
  • 做网站找哪里如何修改wordpress颜色
  • 招商加盟网站系统站长工具 seo查询
  • 工商局网站清算组备案怎么做电商培训机构
  • 做好门户网站建设做本地团购网站怎么样