sql-injection相关内容
我正在尝试(合法地)利用带有 SQLi 漏洞的 MariaDb 数据库. 我已经确定了这里的漏洞... /?o=1&page=app o=* 易受攻击并产生以下错误... 调试信息:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 '5' 附近使用正确的语法或 dest like '1'') LIMIT 10' at line 1
..
在使用 ColdFusion 时如何防止 SQL 注入?我对语言/框架很陌生. 这是我的示例查询. 从表中选择 *哪里 id = #url.id# 我认为传入 url.id 是一种风险. 解决方案 为你的 id 使用 标签: htt
..
我为客户开发了一个网站,他们将在其中在线发布他们的商品图片.网址是 www.domiainname.com/item-details.cfm?sku=125.有人试图浏览 www.domiainname.com/item-details.cfm?sku=125%20and%203=3 并导致我收到通知的错误. 我还收到以下错误报告: item-details.cfm?sku=1291+or
..
为了防止 sql 注入,我在 ColdFusion 的介绍中读到我们将使用 cfqueryparam 标签. 但是在使用存储过程时,我将变量传递给 SQL Server 中相应的变量声明: DROP PROC Usr.[保存]去CREATE PROC Usr.[保存](@UsrID 整数,@UsrName varchar(最大值)) 作为更新用户SET UsrName = @UsrName
..
我遇到了需要使用 LINQ 的 ExecuteCommand 方法来运行插入的情况. 类似的东西(为了这个问题而简化): object[] oParams = { Guid.NewGuid(), rec.WebMethodID };TransLogDataContext.ExecuteCommand ("插入 dbo.Transaction_Log (ID, WebMethodID) VA
..
目前我在我的应用程序中使用 PostgreSQL.由于我试图将包含事务(即插入、更新、删除)的每个 SQL 放在一个函数中,我偶然发现了这个问题: 是否有可能只允许数据库用户调用函数和 Select-Statements 而不能调用包含事务的 SQL-Statements?“调用函数"是指任何函数.不管它是否包含交易. 我已经尝试创建一个只能调用函数和选择语句的用户.但是在调用包含事务
..
在我的控制器操作中,我有以下内容: def 索引@articles = (params[:mine] == "true") ?current_user.articles : Article.search(params[:search])@articles = @articles.sort!{ |a,b|b.created_at a.created_at }@articles = Kaminari
..
我正在使用 Yii 1,我想构建以下查询: $a = Model::model()->findAllBySql('SELECT * FROM table WHERE name like "%'.$_GET['name'].'%"'); 为了防止sql注入,我是这样写的: $a = Model::model()->findAllBySql('SELECT * FROM table WHERE
..
我正在使用 Java EE 6 和 JSF-2.0 构建一个 Java Web 应用程序,对所有数据库操作使用持久性 API. 后端是 MySQL,但我使用 EJB-QL 中的 EntityManager 函数和命名查询进行所有操作.这种情况下是否有可能进行 SQL 注入攻击? 解决方案 只有在像这样在 SQL/JPQL 字符串中内联用户控制的变量时才有可能: String sql
..
抱歉问了这么长的问题,但这包含了我用来测试场景的所有 SQL,希望能说明我在做什么. 我正在构建一些动态 SQL 以在 SQL Server 2005 中生成 PIVOT 表. 以下是执行此操作的代码.通过各种选择显示原始数据,使用 GROUP BY 的值和我想要的 PIVOT 中的值. BEGIN TRAN--创建表创建表#PivotTest(列 nvarchar(500),Col
..
LuaSQL,它似乎是 Lua 中大多数 SQL 数据库系统的规范库,但没有'似乎没有任何用于在查询中引用/转义值的工具.我正在编写一个使用 SQLite 作为后端的应用程序,我很想使用 Python 的 DB-API: c.execute('select * from stock where symbol=?', t) 但我什至会接受一些更愚蠢的东西,比如: conn:execute("s
..
.Net 中的参数化查询在示例中始终如下所示: SqlCommand comm = new SqlCommand(@"选择 *来自产品WHERE Category_ID = @categoryid",连接);comm.Parameters.Add("@categoryid", SqlDbType.Int);comm.Parameters["@categoryid"].Value = Catego
..
我有点困惑,为什么我们需要指定我们在 Php 中的 PDO 中的 bindParam() 函数中传递的数据类型.例如这个查询: $calories = 150;$color = '红色';$sth = $dbh->prepare('选择名称,颜色,卡路里来自水果哪里卡路里
..
$id = trim((int)$_GET['id']);$sql = 'SELECT * FROM users WHERE id = '.$db->quote($id) .'限制 1';$run = $db->query($sql)->fetch(); PDO 的引用方法作为准备好的语句是否安全?或者我必须在我的脚本中一直使用准备好的语句? 解决方案 基本上 quote() 作为准备好
..
我一直在发现句子PHP PDO's Prepared statements prevent SQL injection. php PDO(PDO 的预准备语句)如何防止 sql 注入? 使用 PDO(PDO 的准备好的语句)的其他优点/缺点是什么? 使用 PDO(PDO 的预准备语句)会降低效率吗? 我读过这个:PDO 准备好的语句是否足以防止 SQL 注入?但那里的数据并不完全清
..
如果通过 GET 传递参数,则可以进行 Sql 注入.但是也可以通过POST.如果是,https 可以阻止吗? 解决方案 是的,可以使用 $_POST 以及 $_GET、$_COOKIE 和 $_REQUEST.HTTPS 根本不会保护您.您必须使用某些功能来保护您,例如 mysql_real_escape_string 或使用 准备好的语句. 来自网络浏览器的所有通信都应作为“不受
..
我看过很多关于 mysqli 的文章和问题,他们都声称它可以防止 sql 注入.但它是万无一失的,还是有办法绕过它.我对跨站脚本或网络钓鱼攻击不感兴趣,只对 sql 注入感兴趣. 我应该首先说的是我使用的是准备好的语句.这就是我对 mysqli 的意思.如果我使用没有任何字符串连接的准备好的语句,那么它是万无一失的吗? 解决方案 但它是万无一失的,还是有办法绕过它. 不,你
..
我目前正在使用 mysqli php 扩展. 传统上我使用 mysqli_real_escape_string 来转义用户输入.但是,我正在考虑更改代码(希望以尽可能少的步骤)以使用准备好的语句. 我想清楚这一点 - 如果我使用准备好的语句来绑定我的所有变量,我可以确信 sql 注入是不可能的吗?(并完全免除 mysqli_real_escape_string?) 谢谢 解
..
我正在学习如何避免 SQL 注入,但我有点困惑. 使用bind_param时,我不明白目的.在手册页上,我找到了这个例子: $stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");mysqli_stmt_bind_param($stmt, 'sssd', $code, $languag
..
我是 PHP 新手,我意识到我的数据库连接,使用 php 表单(带有用户和传递文本输入)是完全不安全的: 这是有效的,但不安全:
..