让我们说MySQL数据库(如果重要).
我在我的通讯订户数据库的"电子邮件"字段中找到以下内容:'或1 = 1/*
我知道这是一个SQL注入,但就是这样.我已经谷歌搜索了一下,但我仍然清楚它究竟想要实现什么.这发生在11月初,据我所知,我们在那个时候没有停电.你们这些善良的灵魂能告诉我这个家伙可能会尝试做什么吗?有没有办法知道他是否达到了他的目的?
我几乎一无所知,我很担心.:(
我正在使用sequelize with express.我需要保护db不受sql-injection的影响.我看到了续集的文件,但我找不到任何东西.所以请帮助我如何使用sequelize防止sql注入.
我正在处理一个表单,其中有可能让用户在要提交给数据库的字符串中使用非法/特殊字符.我想在字符串中转义/否定这些字符,并且一直在使用htmlspecialchars().但是,有更好/更快的方法吗?
String badInput = rawInput.replace("'","''");
ResultSet rs = statement.executeQuery("SELECT * FROM records WHERE col1 = '"+badInput+"'";
Run Code Online (Sandbox Code Playgroud)
有没有办法对这段代码进行" Bobby Tables "式攻击?
在周末我编译了一个正则表达式列表,以检查GET,POST和COOKIE超级全局变量中的sql注入.从各方面来看,它们在检测是否找到sql注入方面非常有效.我已经在各种sql注入文档中看到了很多注入攻击,但我正在寻找可能无法解释的更复杂的注入攻击.
我很清楚最好的防御方法是验证/清理输入和参数化查询,但是这个脚本不是为了保护而是为了记录潜在的攻击.我也知道这会在各种情况下产生误报,但由于它只是用于记录,这不是一个问题.
检测脚本如下.
<?php
testArray($_GET);
testArray($_POST);
testArray($_COOKIE);
function testArray($array)
{
foreach ($array as $name => $value)
{
if(is_array($value) === true)
{
testArray($value);
}
else
{
testHelper($value);
}
}
}
function testHelper($varvalue)
{
$total = test($varvalue);
echo '<h3 style="'.($total > 0 ? 'color:red;' : 'color:green;').'">'.nl2br($varvalue).'</h3>';
echo '<span style="'.($total > 0 ? 'color:red;' : 'color:green;').'">';
echo 'total = '.$total.'
';
echo '</span><br />';
}
function test($varvalue, $_comment_loop=false)
{
$total = 0;
$varvalue_orig = $varvalue;
$quote_pattern = '\%27|\'|\%22|\"|\%60|`';
// …Run Code Online (Sandbox Code Playgroud) 我需要避免在我的ASP.NET应用程序中容易受到SQL注入攻击.我怎么能做到这一点?
我有一些问题(到一个acccess数据库)像这样:
string comando = "SELECT * FROM ANAGRAFICA WHERE E_MAIL='" + user + "' AND PASSWORD_AZIENDA='" + password + "'";
Run Code Online (Sandbox Code Playgroud)
我想"逃避"用户和密码,防止注射.
我怎么能用C#和.NET 3.5做到这一点?我在PHP上搜索像mysql_escape_string这样的东西......
目前我正在使用PostgreSQL作为我的应用程序.由于我试图将包含事务的每个SQL(即插入,更新,删除)放在一个函数中,我偶然发现了这个问题:
是否有可能只允许数据库用户调用函数和选择语句,而他无法调用包含事务的SQL语句?"呼叫功能"是指任何功能.无论它是否包含交易.
我已经尝试创建一个只能调用函数和Select-Statements的用户.但是在调用包含事务的函数时,我总是会遇到错误.据我所知,如果他调用使用insert,update或delete语句的函数,则dbuser需要写权限.
我错过了什么吗?这种情况真的不可能吗?安全方面,这将是非常好的,因为你几乎首先防止SQL注入.
postgresql stored-procedures sql-injection transactions user-permissions
在上周末,我的一些网站记录了错误,意味着错误使用了我们的网址:
...news.php?lang=EN&id=23'A=0
Run Code Online (Sandbox Code Playgroud)
要么
...news.php?lang=EN&id=23'0=A
Run Code Online (Sandbox Code Playgroud)
代替
...news.php?lang=EN&id=23
Run Code Online (Sandbox Code Playgroud)
我发现最初只提到了一页(https://forums.adobe.com/thread/1973913),他们推测附加的查询字符串来自GoogleBot或编码错误.
我最近改变了我的网站使用PDO而不是mysql_*.也许这种变化导致了错误?任何提示都会有用.
此外,所有请求都来自下面显示的相同用户代理.
Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)
Run Code Online (Sandbox Code Playgroud)
这导致我找到以下线程: URL中的pt-BR 和 Strange参数 - 他们在尝试什么?
sql-injection ×10
security ×5
.net ×2
mysql ×2
php ×2
sql ×2
asp.net ×1
bots ×1
c# ×1
database ×1
encoding ×1
express ×1
java ×1
node.js ×1
postgresql ×1
regex ×1
sequelize.js ×1
transactions ×1
url ×1