php项目私有化部署保护代码,ThinkPHP项目安全配置解决方案

前言:

ThinkPHP MVC框架越来被开发者接受,众多的开发者选择了这个框架,也有很多的优秀项目使用的ThinkPHP框架。最近整理了一下ThinkPHP项目的一些安全配置。可能并不适用全部项目,大家可以适当的使用如下的安全配置。

前置知识:

web容器和各类组件的版本,这里使用的LNMP 的架构:Nginx1.19 Mysql 5.6 PHP7.4 Centos8.2,这里推荐是PHP的版本7.4

一、ThinkPHP常见的被入侵方式

136be34314a57ba454d97dfa8ef5d707.png

ThinkPHP RCE

案例分享:

在某些ThinkPhp版本中只有开启了Debug才会导致命令执行的出现,例如拿ThinkPhp5.1.14举例

获取网站的绝对路径等等敏感信息

136be34314a57ba454d97dfa8ef5d707.png

开启了Debug,执行exp

136be34314a57ba454d97dfa8ef5d707.png

2、通过log日志获取网站权限

智宇发卡网举例

此发卡网是可以访问runtime目录的,给大家看看目录

136be34314a57ba454d97dfa8ef5d707.png

他入口文件和runtime目录在同一个目录里面,他也没设置其他东西,所以可以直接访问runtime目录

然后根据runtime目录的日志存储的格式runtime/log/年份月份/日.log来存储的,所以得到runtime/log/202007/22.log来获取网站日志,在遍历日志的时候在18号发现了管理员账号密码

136be34314a57ba454d97dfa8ef5d707.png

通过后台登录账号密码,通过代码审计发现存在一个比较鸡肋的Rce

利用条件

可以开启日志,或者支持into outfile

GetShell

1

在审计的时候发现了数据库可以指定其他文件进行数据库恢复(恢复数据相当于执行SQL语句),下面是利用步骤

1.下载网站备份文件

2.修改SQL语句,添加漏洞利用代码

3.在文件存储处添加.sql的后缀,然后在上传文件的地方上传.sql文件

4.然后在恢复数据的时候指定这个.sql文件达到写shell的目的

备份数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值