公告:推痕网(www.tuihen.com)专业分类目录平台,收录各行业优秀网站,快审仅需20元/站,永久收录!合作QQ:160-204-68

快速审核,网站广告合作请联系我们
  • 网站:36829
  • 待审:6523
  • 文章:17320
  • 会员:6450

  今朝官方最新版本是ThinkPHP5.0.20版本,之前的ThinkPHP3.2,ThinkPHP3.1、ThinkPHP3.0都存在过网站马脚,包含一些高危的长途代码履行马脚,thinkphp sql注入马脚,后台治理员XSS跨站马脚,随便率性文件上传马脚等等。今朝我们SINE安然于2018年9月5号,在日常的thinkphp网站安然检测傍边,发明某客户应用的thinkphp体系存在着网站sql注入马脚,伤害性较高,一开端认为客户应用的是较低版本:thinkphp 3.2.3,才会存在这种网站马脚,然则在实际的安然检测傍边发明不仅仅是这个版本,还包含了今朝最新版本5.0.20,关于该网站马脚的详情与poc应用,我们一步一步来分析。

  网站安然检测thinkphp马脚产生道理

  产生网站马脚的文件存在于library文件夹下的think文件,里面包含的db文件夹的

  driver.class.php代码中的第677行开端,在order处理分析的时刻发明分析参数里可以插入不法的

  字符,在key赋值的时刻并没有做严格的安然限制与过滤,导致进击者可以应用SQL注入语句进

  * @param string|array $field 排序字段

  行构造查询数据库里的内容,包含可以查选数据库里的治理员账号暗码, 写入数据库等等的操作。

  /**

  * order分析

  thinkphp 3.2.3马脚代码如下:

  * @access protected

  * @param mixed $order

  * @return string

  假如是低版本的thinkphp 3.*的体系,请尽快进级到thinkphp最高版本。

  thinkphp在国内来说,很多站长以及平台都在应用这套开源的体系来建站,为什么会这么深受大年夜家的爱好,第一开源,便捷,高效,生成静态化html,第二框架性的易于开辟php架构,很多第三方的插件以及第三方的开辟公司较多,模板可以自定义设计,在thinkphp的基本上可以开辟很多大年夜型的虚拟币平台,以及会员平台,商城体系,thinkPHP的官方在体系进级方面做的比较完美,及时更新与修复一些BUG。

  */

  protected function par搜刮引擎优化rder($order) {

  if(is_array($order)) {

  $array = array();

  foreach ($order as $key=>$val){

  unset($field[$key]);

  if(is_numeric($key)) {

  }else{

  }

  }

  $order = implode(',',$array);

  }

  return !empty($order)? ' ORDER BY '.$order:'';

  }

  ThinkPHP 5.1.22马脚代码存在于library文件夹下的think文件里的db/query.php

  代码里的第1514行,代码如下:

  /**

  * 指定排序 order('id','desc') 或者 order

  (['id'=>'desc','create_time'=>'desc'])

  * @access public

  * @param string $order 排序

  * @return $this

  */

  public function order($field, $order = null)

  {

  if (empty($field)) {

  return $this;

  } elseif ($field instanceof Expression) {

  $this->options['order'][] = $field;

  return $this;

  }

  if (is_string($field)) {

  $array[] = $this->parseKey($val);

  if (!empty($this->options['via'])) {

  $field = $this->options['via'] . '.' . $field;

  }

  $array[] = $this->parseKey($key).' '.$val;

  if (strpos($field, ',')) {

  $field = array_map('trim', explode(',', $field));

  } else {

  $field = empty($order) ? $field : [$field => $order];

  }

  } elseif (!empty($this->options['via'])) {

  foreach ($field as $key => $val) {

  if (is_numeric($key)) {

  $field[$key] = $this->options['via'] . '.' . $val;

  } else {

  $field[$this->options['via'] . '.' . $key] = $val;

  }

  }

  从以上thinkphp 3.2.3 、thinkphp 5.0的代码里可以分析出来,当order在分析接洽关系函数的时刻会赋值于key值中,可以掺入sql注入语句履行进击网站,并可以拼接方法绕过sql安然过滤,导致可以履行sql语句,查询数据库,操作数据库。

  thinkphp马脚应用详情:

  thinkphp马脚修复建议:

  假如是高版本的thinkphp 5.*的体系,请尽快进级到thinkphp最高版本。

  假如网站被进击了,请尽快做好网站的安然备份,查找网站存在木马后门,对其代码里被修改的代码进行修复,并做好网站安然加固,对一些缓存文件夹进行安然权限设置,假如对网站马脚修复不是太懂的话可以找专业的网站安然公司去处理,国内SINE安然公司,绿盟安然,启明星辰都是比较专业的。假如网站应用的是零丁办事器比如linux体系、windows体系,可以安排网站防火墙,来防止sql注入进击。网站默认的治理员后台地址可以修改为比较繁琐的地址。

    关键词: 连体双胞胎 世上最年长连体双胞胎 快速审核文章 织梦一键审核
    精彩推荐

    一个虚拟主机实现多域名多网站的方法

    时间:2022-09-05

    虚拟主机空间1G,博客用不了那么多空间,而自己又屯有几个域名,所以就有了一个虚拟主机上搭建多个网站的想法。查阅资料历经种种失败,终于折腾出来了还是。下面把最后的可...

    网络代理设置是什么意思(免费代理ip网站)

    时间:2022-06-30

    我们在互联网上活动的时候,网络运营商会给我们分配一个ip地址,这个相当于我们在网络上的身份。有兴趣的同学可以百度一下ip地址,搜索结果第一位就能看到我们的本机ip地址...

    建站之前应该做哪些准备?

    时间:2019-12-04

    建站之前应该做哪些准备?...

    商城网站建设要注意哪些细节?

    时间:2019-12-04

    商城网站建设要注意哪些细节?...

    pc端与手机端在网站建设中的区别是什么?

    时间:2019-12-04

    pc端与手机端在网站建设中的区别是什么?...

    Solidworks在使用绘制的折弯时提示“没有能够制作绘制折弯”的解

    时间:2016-04-10

    现在用Solidworks来绘制钣金件的设计师已经越来越多了,部落自己也经常使用这个软件.当然,有很多时候还是会遇到一些问题,比如部落最常遇到的就是在使用绘制的折弯时提示没有...

    快审网站推荐
    随机网站推荐

    北京市地质2017.04.08

    北京市地质工程勘察院是原国家地矿部为解决首都供水问题而组建的...

    青岛颐丰园2017.03.05

    青岛颐丰园园林工程有限公司,www.qdhfw.com,青岛颐丰园园林工程...

    长春概念网2017.03.05

    长春概念网络科技有限公司,www.gainon.cn,概念(易63)网络成立于2...