Code前端首页关于Code前端联系我们

Thinkphp5.0最新SQL注入漏洞利用详情

terry 2年前 (2023-09-28) 阅读数 122 #Web安全

ThinkPHP 5.0是最新版本。经过多年的升级和改进,他们对自己的网站设计公司非常满意。它在互联网上也是开源的,免费的,有各种插件和API。 PHP语言开发的程序,接口功能强大。 ThinkPHP自设计以来就坚持简单实用的设计原则。在保证优秀的性能和最少的代码的同时,也非常注重实用性。

SINE安全公司对该程序最新版本进行了网站安全审计,发现该程序存在数据库密码信息泄露漏洞。它可以防止 PDO PHP 查询中的大多数恶意参数攻击,并且 ThinkPHP 5.0 框架要求在 PHP 5.4 版本上运行,这可以防止 PHP 5.3.6 版本中的 SQL 查询注入漏洞。

对代码进行安全审计时,实际上是一个SQL注入点,可以查询到一些数据库的账号、密码等安全信息。 Thinkphp5.0的代码设计中,调用了函数input来替代3.2.3版本中的函数I。该函数用于控制语句中数字的位置。它可以通过传递数组并携带错误参数来构造。 SQL注入语句检索数据库帐户密码。

在$bindName参数中,我们运行详细的网站安全测试,并将$k值写入$bindName。当$value确实是一个数组时,所有$values​​​​​​都会传递到这里。这个值意味着我们可以控制编译后的SQL语句中的key的名称,也可以控制编译后的SQL语句。这理论上是一个SQL注入漏洞。

该漏洞流程包括预编译执行流程。通常PHP PDO预编译执行过程分为三步:

1。准备($SQL) 编译 SQL 语句

2。 bindValue($param, $value) 将值绑定到param位置

3,execute()执行SQL语句

该漏洞实际上控制了第二步中的$param变量。如果这个变量是SQL语句,那么第二步就会出错: Sinus Security Company 是一家网络安全服务商,专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复、渗透测试、安全服务。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门