久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      關(guān)于ThinkPHP框架的審計

      下面由thinkphp框架教程欄目給大家介紹有關(guān)ThinkPHP框架的審計,希望對需要的朋友有所幫助!

      關(guān)于ThinkPHP框架的審計

      ThinkPHP簡介

      ThinkPHP 是一個免費開源的,快速、簡單的面向?qū)ο蟮?輕量級PHP開發(fā)框架 ,創(chuàng)立于2006年初,遵循Apache2開源協(xié)議發(fā)布,是為了敏捷WEB應(yīng)用開發(fā)和簡化企業(yè)應(yīng)用開發(fā)而誕生的。ThinkPHP從誕生以來一直秉承簡潔實用的設(shè)計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性。并且擁有眾多的原創(chuàng)功能和特性,在社區(qū)團隊的積極參與下,在易用性、擴展性和性能方面不斷優(yōu)化和改進,已經(jīng)成長為國內(nèi)最領(lǐng)先和最具影響力的WEB應(yīng)用開發(fā)框架,眾多的典型案例確??梢苑€(wěn)定用于商業(yè)以及門戶級的開發(fā)。

      漏洞簡述

      盡管ThinkPHP 5.0.x框架采用了參數(shù)化查詢方式,來操作數(shù)據(jù)庫,但是在 insert 和 update 方法中,傳入的參數(shù)可控,且無嚴格過濾,最終導(dǎo)致本次SQL注入漏洞發(fā)生。

      以ThinkPHP框架 5.0.x sql注入漏洞進行分析

      thinkphp官網(wǎng)下載5.0.15版本: http://www.thinkphp.cn/down/1125.html 。搭建好數(shù)據(jù)庫,數(shù)據(jù)庫為tp,表名為user,其中有兩個字段id和username。

      關(guān)于ThinkPHP框架的審計

      修改數(shù)據(jù)庫配置信息 application/database.php,在application/config.php 中打開調(diào)試和trace。

      關(guān)于ThinkPHP框架的審計關(guān)于ThinkPHP框架的審計

      在 application/index/controller/Index.php 中Index類中添加方法:

      public  function testsql()     {         $username = input('get.username/a');         db('user')->where(['id'=> 1])->insert(['username'=>$username]);     }

      我們本次的 payload 為:

      http://127.0.0.1/thinkphp5.0.15/public/index.php/index/index/testsql?username[0]=inc&username[1]=updatexml(1,concat(0x7,user(),0x7e),1)&username[2]=1

      解釋如下:

      http://127.0.0.1/thinkphp/  public/        index.php/   index/   index/   index         域名       網(wǎng)站目錄    對外訪問目錄    入口文件       前臺     控制器    方法名

      擴展:

      其中關(guān)于 updatexml 函數(shù)UPDATEXML (XML_document, XPath_string, new_value);

      第一個參數(shù):XML_document是String格式,為XML文檔對象的名稱,文中為Doc

      第二個參數(shù):XPath_string (Xpath格式的字符串) ,如果不了解Xpath語法,可以在網(wǎng)上查找教程。

      第三個參數(shù):new_value,String格式,替換查找到的符合條件的數(shù)據(jù)

      作用:改變文檔中符合條件的節(jié)點的值

      訪問payload,就可以觸發(fā)漏洞了。

      關(guān)于ThinkPHP框架的審計

      漏洞分析

      首先,我們知道 insert 方法存在漏洞,那就查看 insert 方法的具體實現(xiàn)。

      通過input獲取到參數(shù)后,username變量情況如下:

      關(guān)于ThinkPHP框架的審計

      跟入insert,thinkphp/library/think/db/Query.php

      關(guān)于ThinkPHP框架的審計

      然后執(zhí)行insert語句

      $sql = $this->builder->insert($data, $options, $replace);

      跟入 thinkphp/library/think/db/Builder.php

      關(guān)于ThinkPHP框架的審計

      跟入parseData至 thinkphp/library/think/db/Builder.php

      關(guān)于ThinkPHP框架的審計

      可以看出$val是數(shù)組,且根據(jù)$val[0]值為inc,會通過switch語句進入到’inc’:

      此處的parseKey,即thinkphp/library/think/db/builder/Mysql.php

      關(guān)于ThinkPHP框架的審計

      此處并未對傳入的$key進行

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號