当前位置:首页 > 综合 > thinkphp漏洞

thinkphp漏洞

2026-10-17 05:44:47 [百科] 来源:力不从心网

ThinkPHP的漏洞漏洞,说白了,漏洞大多数时候不是漏洞框架本身有多脆弱,而是漏洞用的人太相信“官方文档”了。这话可能有点得罪人,漏洞但你看真实案例就明白了。漏洞

去年有个做电商后台的漏洞哥们儿,代码里直接用了`where('id',漏洞 input('get.id'))`。他以为框架的漏洞`input`方法已经过滤了SQL注入,结果ThinkPHP的漏洞查询构造器在拼接字符串时根本不做参数绑定。攻击者传个`id[0]=exp&id[1]=1) or 漏洞updatexml(1,concat(0x7e,user()),1)--`,数据库直接吐出版本信息。漏洞这种漏洞从5.0一直延续到5.1,漏洞官方文档里写的漏洞是“推荐使用参数绑定”,但多少人真看了?漏洞

更典型的是RCE漏洞。2018年底爆出的ThinkPHP 5.0.x远程代码执行,利用的是`Request::method()`方法里`filter[]`参数可被外部覆盖的特性。攻击者构造一个POST请求,把`filter[]`改成`system`,把`method`改成`whoami`,就能在服务器上执行任意命令。那次漏洞波及了至少几十万个站点,因为很多开发者习惯用`thinkphp`自带的`route`规则,没做任何过滤。你问为什么这么容易?因为框架的设计哲学是“灵活”,而灵活的另一面就是“默认信任用户输入”。

还有个容易忽略的坑是模板注入。ThinkPHP的模板引擎支持`{ php}`标签,虽然官方在5.1后默认禁用了,但如果你在配置里手动开启`'tpl_deny_php' => false`,那模板文件里的`{ php}phpinfo();{ /php}`就会直接执行。更隐蔽的是,有些开发者为了方便,把用户输入直接拼进模板路径,比如`$this->fetch('index_' . $_GET['style'])`,这时候攻击者用`../../../../etc/passwd`就能读取文件,用`php://filter`配合包含漏洞就能getshell。这已经不是框架的锅了,但你用ThinkPHP,就得知道它的模板解析机制不像Twig那样沙箱隔离。

说点实际的判断。ThinkPHP的漏洞修复速度其实不慢,但问题是很多中小公司用的还是老版本,5.0.x的最后一版修复补丁是2019年才出的,而5.1.x到2020年还在补安全漏洞。你要是用3.2.3,那更惨——这个版本连SQL注入的预处理都没有,全靠开发者手动转义。我见过不少外包项目,代码里全是`M('user')->where('username="' . $name . '"')`这种写法,框架自带的`I()`函数确实做了addslashes,但遇到宽字节注入就废了。

所以我的看法是:ThinkPHP的漏洞大多属于“框架给了你自由,但自由需要代价”。你要是用Laravel,Eloquent ORM强制参数绑定,你乱写SQL的机会少很多。但ThinkPHP的查询构造器允许你直接写原生字符串,这就像开车不系安全带——平时没事,出事就是大事。我建议用这个框架的团队,至少要做到:所有数据库查询必须用`where('id', ':id')`绑定参数,所有文件操作必须校验路径是否在白名单内,所有模板渲染的变量值必须经过`htmlspecialchars`过滤。做不到?那你就等着被扫描器天天问候吧。

(责任编辑:热点)

推荐文章
  • 辽宁生理测量仪厂家

    辽宁生理测量仪厂家 辽宁生理测量仪厂家,我实地跑过几家。沈阳浑南那块儿,厂房不算大,但进去就能闻到一股电路板焊接后的松香味儿。前台小姑娘正低头刷手机,抬头看我一眼,也没问来意,直接说:“找王工吧?他这会儿在调试间。”—— ...[详细]
  • asp的mime类型

    asp的mime类型 ASPActive Server Pages)的MIME类型问题,坑过不少老开发。IIS默认给.asp文件分配的是text/plain,这直接导致浏览器把服务器端脚本当纯文本显示——你辛辛苦苦写的Re ...[详细]
  • owasp zap

    owasp zap OWASP ZAP全称是Zed Attack Proxy,一个开源Web应用安全扫描器。我第一次用它,是在一个周五下午,客户报告说他们的登录接口响应速度异常慢。我打开ZAP,配置好代理,浏览器流量开始 ...[详细]
  • 国外网站信息

    国外网站信息 打开浏览器,随便点进一个国外论坛,你会发现一个扎心的事实:我们以为的“国外网站”,早就不是十年前那个样子了。 Reddit上有个帖子,标题是“你们国家的网站长什么样?”底下跟了上千条回复。美国人贴出他 ...[详细]
  • 2297娱乐在线登录

    2297娱乐在线登录 凌晨两点十七分,我盯着手机屏幕上跳动的数字,第无数次点开了那个熟悉的界面。2297娱乐在线登录,这个网址像刻在肌肉记忆里一样,指尖划过屏幕就能准确找到入口。说实话,我记不清自己是什么时候开始频繁光顾这 ...[详细]
  • 临汾市公共资源交易网

    临汾市公共资源交易网 临汾市公共资源交易网首页,每天上午九点整,服务器流量准时飙升。这个由临汾市行政审批服务管理局打理的平台,眼下承载着全市工程建设招投标、土地矿权出让、国有产权交易和政府采购四大板块——一年下来,线上成交 ...[详细]
  • 阿里云域名腾讯云用不了马

    阿里云域名腾讯云用不了马 阿里云的域名,在腾讯云的服务器上,解析这事儿,经常让人抓狂。我上周刚帮朋友折腾过一次,他图便宜在阿里云注册了个新域名,转头买了腾讯云的学生机,结果网站死活打不开。ping一下,域名解析到旧IP,或者干 ...[详细]
  • 移动手机号码查询

    移动手机号码查询 我在地铁上丢了三次手机,每一次都在五分钟内用另一部手机查到了自己的号码。不是靠背下来——谁会背自己的手机号呢?是靠运营商那个几乎没人注意的查询入口。 移动用户查自己号码,最直接的办法是拨10086。接 ...[详细]
  • 发卡网违法吗

    发卡网违法吗 发卡网违法吗?这个问题的答案不是“是”或“否”,而是“看情况”。我见过太多人一听说发卡网就皱眉,觉得那是灰色地带的代名词。但发卡网本质上就是个自动发货平台,就像街边的自动售货机,卖什么才是关键。 有个 ...[详细]
  • fiddler测试

    fiddler测试 我抓了公司内网一个支付接口的报文,发现开发小哥提交的金额参数居然能改成负数。这不是漏洞演示,是Fiddler最日常的操作——改包重放。干这行久了你会明白,抓包工具不是黑客玩具,是后端开发的显微镜。 F ...[详细]
热点阅读