【问题标题】:SQL Injection vulnerability in Yii1 frameworkYii1 框架中的 SQL 注入漏洞
【发布时间】:2022-11-02 05:15:00
【问题描述】:
[error] [system.db.CDbCommand] CDbCommand::fetch()
failed: SQLSTATE[HY000]: General error: 1105 XPATH syntax error:
'\qvqbq66666666666666666666666666'. The SQL statement executed was:
SELECT * FROM `User` `t` WHERE username = '1' AND
EXTRACTVALUE(7865,CONCAT(0x5c,0x7176716271,(SELECT
REPEAT(0x36,256)),0x716a627671))-- JEUE' and email = '1' AND
EXTRACTVALUE(7865,CONCAT(0x5c,0x7176716271,(SELECT
REPEAT(0x36,256)),0x716a627671))-- JEUE' and title = 'Customer' LIMIT
1

我已经收到这种错误日志几个月了,每天有 100 次攻击

我认为有人试图破解这个使用 Yii1 框架开发的网站。

我已经阻止了一些 IP 地址,但是这种攻击正在继续使用另一个 IP 地址和位置。

我应该忽略这种攻击吗?

【问题讨论】:

标签: php mysql sql-injection yii1.x


【解决方案1】:

你不应该忽视攻击。您应该修复您的代码,以便无法进行攻击。

攻击者能够注入任意 SQL 表达式并导致 SQL 解析器出错这一事实表明您的代码中存在一个或多个 SQL 注入漏洞。这是因为允许在解析查询之前将不受信任的输入复制到 SQL 查询字符串中。

您不应允许在 SQL 查询中执行任意输入。

  • 使用查询参数将输入组合为 SQL 表达式中的值。
  • 在其他情况下使用过滤,例如如果您需要请求输入来更改 SQL 查询中的标识符或表达式。

查看有关防止 SQL 注入的 Yii 文档,并更改代码以采用安全习惯。 https://www.yiiframework.com/wiki/275/how-to-write-secure-yii1-applications#sql-injections

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-05
    • 2020-08-21
    • 2019-05-03
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2021-03-21
    • 2014-09-24
    相关资源
    最近更新 更多