ThinkPHP3.2.X SQL注入漏洞的解决方案

程序部分

1.入口文件加入SQL关键字过滤(立刻要做), API的有多维数据的需要注意

2.任何密码要有等级检测, 密码位数提高到8位以上

3.纯数字的支付密码也要有安全检测, 如’123456’的密码将不能通过

4.登录/支付密码连续错误5次账号暂停24小时(后台参数可设置)

5.密码要先在本地加密(SHA1)

6.涉及API接口对接的项目全部使用AES加密(每个项目最好使用不同的密钥, 注意同一项目密钥一旦确定最好不要修改)

7.涉及金额的重要项目, 金额先用用户的ID连接再使用AES加密, 如用户的ID为1, 金额为1.00, 那组合成AesEn(‘1_1.00’), 解密后要对用户ID比对. 防止直接串改数据库. 同时可以有一项不加密的金额字段, 只是做为程序员用

8.涉及金额项目要有日志, 日志变更和余额变更做好封装

运维部分

1.服务器数据库密码使用10位以上数字字母符号混合的字符串

2.服务器尽量少开端口, 一般80, 443, 22端口即可, 另外最好把22端口修改为其它端口

3.涉及Windows服务器需要安装微软自带杀毒软件, 及打开防火墙, 同时系统安装完之后要先把所有的补丁打上之后再作其它操作, 3389端口最好也要修改一下

4.打开服务器的各种日志, 如nginx访问日志, mysql的日志等, lnmp默认是不打开的

附上代码:

//防止SQL注入代码,请将该文件中前两段代码添加到自己项目index.php的最前面即可
/*****防止SQL注入代码 begin*****/
//判断是否含有注入并跳出
function sqlInj($value) {
    //过滤参数
    $arr = explode('|', 'UPDATEXML|UPDATE|WHERE|EXEC|INSERT|SELECT|DELETE|COUNT|CHR|MID|MASTER|TRUNCATE|DECLARE|BIND|DROP|
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP是一个开源的PHP开发框架,它的版本3.2.x是一个老版本,存在远程命令执行(RCE)漏洞。这个漏洞允许攻击者通过构造恶意请求来执行任意的系统命令,从而获得对应用服务器的完全控制权限。 这个漏洞的原因是在ThinkPHP 3.2.x版本的核心代码中没有对用户的输入进行充分的过滤和校验。攻击者可以利用这个漏洞来执行各种恶意操作,比如上传恶意文件、修改数据库内容或者获取系统敏感信息等。 为了利用这个漏洞,攻击者需要构造一个特殊的请求,其中包含可执行的系统命令。然后将这个请求发送到受影响的应用程序的漏洞点上。当应用程序在处理这个请求时,会将其中的系统命令当作可执行代码来执行,最终导致攻击者获取对应用服务器的控制权限。 为了修复这个漏洞,用户可以升级到最新版本的ThinkPHP框架。在最新版本中,开发者已经修复了这个漏洞,并加强了对用户输入的过滤和校验。此外,用户还可以根据自己的需求对应用程序进行进一步的安全加固,比如限制上传文件的类型和大小,对用户输入进行严格的过滤和校验等。 总之,ThinkPHP 3.2.x版本存在远程命令执行漏洞,攻击者可以通过构造恶意请求来执行任意的系统命令。为了修复这个漏洞,用户可以升级到最新版本的ThinkPHP框架,并加强应用程序的安全加固措施。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值