标签: sql-injection

C#装配注射检查

我在C#中为MS SQL 2005创建一个程序集.该程序集创建一个存储过程,并根据传递给存储过程的参数运行动态查询.

C#中是否有一个简单的函数来阻止SQL注入?

例如

string myQuery = "SELECT * FROM dbo.MyTable WHERE lastName = '" + injectionCheck(arg1) + "'";
Run Code Online (Sandbox Code Playgroud)

标准查询回答了这个问题......但是在无法构建真正动态查询的情况下,我可以在C#中使用什么来进行注入检查?

例如,这些可能不起作用:

使用@dbName;

SELECT*FROM @table

OPEN SYMMETRIC KEY @keyName

等等

c# sql-server assemblies stored-procedures sql-injection

1
推荐指数
1
解决办法
966
查看次数

什么是最好的,Escape然后存储或商店然后逃脱输出?

在对stackoverflow进行了长时间的搜索后,我没有找到任何人谈到这个,即使它是一个很大的选择,问题是什么是最好的,以防止XSS和SQL注入,逃避数据然后将其存储在数据库中或按原样存放并在输出时转义?

注意:如果可能的话,给出一些实践的例子会更好.

谢谢

php mysql security xss sql-injection

1
推荐指数
1
解决办法
241
查看次数

如何处理我的MySQL数据库中的撇号?

我有一个我从CSV文件创建的SQL文件.它包括美国所有大都市区的名称,以及一些有关其人口的统计数据.我编写了一个PHP脚本,它接收填充数据,将其转换为图表,并将其粘贴到城市的行中,位于不同的列中.这个剧本运行良好,直到它来到爱达荷州Coeur d'Alene.我认为这是因为城市名称中的撇号(单引号).这是代码:

$query = "UPDATE population SET `$columnname`='$chart_url' WHERE name = '$cityname'";
            mysql_query($query) or die;
Run Code Online (Sandbox Code Playgroud)

因此它通过将其与城市名称相匹配来找到该行.由于数据的原因,没有任何其他方法可以做到这一点.有没有办法处理SQL文件中已经没有未转义字符的数据?

php mysql sql-injection

1
推荐指数
2
解决办法
652
查看次数

mysql_real_escape_string(htmlspecialchars($ value)); 足够?我怎样才能轻松改善它?

我在访问或插入数据库之前在每个$ _get或$ _post中使用它.

我确定这还不够......但它有多安全?我可以将它与一些表达相结合,使其更安全吗?

非常感谢!

那怎么样?mysql_real_escape_string(htmlspecialchars($ value));

php mysql security sql-injection

1
推荐指数
1
解决办法
2319
查看次数

我如何防止SQL注入,但保持"和'?

如何在PHP中阻止sql注入但仍显示"和"?我正在使用的那一刻

$input = strip_tags($input);
$input = htmlentities($input);
Run Code Online (Sandbox Code Playgroud)

然而,输出是\"和\'.无论如何,我可以显示"和'没有斜线,但保持它们,所以我不注入?

php sql security sql-injection html-entities

1
推荐指数
1
解决办法
921
查看次数

使用此LIKE子句,我的代码是否容易受到SQL注入攻击?

我正在使用jQuery和PHP进行实时搜索,但我不确定我的查询是否容易受到SQL注入攻击.

在jQuery的帮助下键入字符时,数据被发布到PHP文件中.

$searchData = $_POST['searchData']; 

$searchResult = mysql_query("SELECT * FROM songs WHERE songname LIKE '$searchData%' "); 

echo $searchResult;
Run Code Online (Sandbox Code Playgroud)

这容易受到SQL注入吗?

php mysql sql sql-injection

1
推荐指数
1
解决办法
2642
查看次数

PHP/MySQL注入示例

这是这个问题的后续问题:PHP的addslashes是否容易受到sql注入攻击?(感谢在那里回复的每个人).

相同的场景,但我有这个代码(在另一页):

             $ID = $_GET['id'];
             $sql = "SELECT * FROM blog WHERE id='$ID'";
             $result = mysql_query($sql);
Run Code Online (Sandbox Code Playgroud)

这应该很容易被利用,对吧?

如果我没记错的话,我不能在mysql_query()中运行第二个查询,但我应该能够做一些其他恶意的事情,对吧?希望能够将用户插入管理表或更改密码或其他内容,但我认为除了触摸博客表之外我无法做任何其他事情.那是对的吗?关于我如何玩耍和调整某些东西以证明有顾虑的任何建议?

php mysql sql sql-injection

1
推荐指数
1
解决办法
5191
查看次数

使用Yii execute()可以在这里进行SQL注入吗?

我见过以下代码:

$id = $_GET["user"]; 
 $auth = $_GET["id"]; 
 $sql = 'DELETE FROM categories where user_id = '.$id.' and category_id = '.$auth;          
 Yii::app()->db->createCommand($sql)->execute();
Run Code Online (Sandbox Code Playgroud)

我被告知这段代码不行,因为它无法允许sql注入.

是因为$ _GET没有被正确过滤?

不会是Yii :: app() - > db-> createCommand($ sql) - > execute(); 避免那样?

或者当我们到达那里时,我们应该已经检查了where子句中的数据?

sql-injection yii

1
推荐指数
1
解决办法
3273
查看次数

PHP:调整SELECT for SQL注入预防后循环不起作用

我试图以防止SQL注入(标准网站)的方式为MySQL设置PHP查询.

我有几个INSERT查询,其中更改此工作正常,但在以下SELECT我不断收到错误,因为更新,它看起来像while循环不适用于我所做的更改(它运行良好,不使用语句作为在旧代码中).

谁能告诉我这里做错了什么?

新PHP:

$stmt = $conn->prepare("SELECT ? FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, ?");
$stmt->bind_param('s', $selectedLang);
$stmt->execute();
$result = $stmt->get_result();  
while($arrCalWeekdays = $result->fetch_assoc()){
    $calWeekdays[] = $arrCalWeekdays;
}
$conn->close();
Run Code Online (Sandbox Code Playgroud)

旧PHP(更改部分):

$sql = "SELECT " . $selectedLang . " FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, " . $selectedLang;
$result = $conn->query($sql);  
while($arrCalWeekdays = $result->fetch_assoc()){
    $calWeekdays[] = $arrCalWeekdays;
}
$conn->close();
Run Code Online (Sandbox Code Playgroud)

错误信息:

致命错误:在第21行的/homepages/21/d580042014/htdocs/myform.php中调用非对象上的成员函数fetch_assoc()

提前谢谢了.

php mysql select associative-array sql-injection

1
推荐指数
1
解决办法
141
查看次数

是String.sanitize,是保护rails或sinatra应用程序中的SQL注入的最佳方法

string.sanitize是保护sql注入的最佳方法.

我们需要为它安装Sanitize gem还是有更好的方法?

value = "O'Brian"
value.sanitize =>"O\'Brian"
or 
value.escape =>"O\'Brian"
Run Code Online (Sandbox Code Playgroud)

它可能默认包含在Rails 5中,但是如何使用sinatra.

ruby sql sql-injection ruby-on-rails sinatra

1
推荐指数
1
解决办法
772
查看次数