草庐IT

INJECT_EVENTS

全部标签

php - 每天 18,000 次 MySQL 注入(inject)尝试 : Stopping the attempts

这个问题不是关于防止SQL注入(inject)攻击的。这个问题在StackOverflow上已经回答了很多次,我已经实现了这些技术。这是关于停止尝试。最近我的网站遭到大量注入(inject)攻击。现在,我捕获它们并返回一个静态页面。这是我的网址:/products/product.php?id=1这是攻击的样子:/products/product.php?id=-3000%27%20IN%20BOOLEAN%20MODE%29%20UNION%20ALL%20SELECT%2035%2C35%2C35%2C35%2C35%2C35%2C35%2C35%2C35%2C35%2C35%2C

Php addslashes sql 注入(inject)仍然有效?

我知道“参数化查询”是chalice。这不是主题。有一篇旧帖子,似乎是所有与使用addslashes时的sql注入(inject)相关的讨论的引用。这是链接:http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string我的问题是:这个概念验证是否仍然正确?我试图测试它,但addslashes似乎工作正常。有没有其他人实际尝试过这个,或者每个人都认为这是理所当然的?我添加了$db->set_charset("GBK");我使用gbk_chinese_ci作为db/fieldsmysql日志显示此查

php - 我可以在没有bind_param的情况下通过PDO Prepared语句完全防止SQL注入(inject)吗?

我是PDO的新手,如果您觉得我在问愚蠢的问题,我很抱歉。没有Bind_param的普通和简单的PDO准备语句:$sql=$db->prepare('SELECT*FROMemployeesWHEREname=?');$sql->execute(array($name));$rows=$sql->fetchAll();使用Bind_param:$sql->bind_param("s",$name);//smeansthedatabaseexpectsastring我听到有人说:“保护来自使用绑定(bind)参数,而不是来自使用准备好的语句”。请问什么是绑定(bind)参数?Bind_pa

php - 如何修复服务器状态代码 : 302 Found by SQL Inject Me Firefox Addon

我使用SQLInjectMe扫描了我的登录脚本Firefox插件根据测试结果,我的脚本容易受到SQL注入(inject)攻击。实例结果Results:ServerStatusCode:302FoundTestedvalue:1' OR '1'='1ServerStatusCode:302FoundTestedvalue:1' OR '1'='1ServerStatusCode:302FoundTe

php - SQL注入(inject)保护

我想我会就一个选项征求您的意见,我认为这会从根本上消除SQL注入(inject)的可能性(我认为)。目前,我有我的管理员帐户,显然可以让我完全控制数据库(更改、删除等)。我有一个PHP使用的帐户,它只能访问SELECT、UPDATE、DELETE、INSERT。为每个操作设置一个用户,然后只在mysql_query语句中引用连接ID-现在显然这会给服务器带来更多压力,基本上每个页面必须建立4个连接,但如果它安全重要的是,在我看来,这将是一个有效的选项,方法是将命令限制为您希望在这种情况下执行的EXACT功能。对此选项的可行性有何想法​​?更新:正如我之前没有提到的,这不是防止SQL注入

php - 在没有参数化查询的情况下防止 PHP 中的 SQL 注入(inject)?

我知道这个话题已经被讨论到死了,但我希望社区能提供一些关于我们网络应用程序安全性的反馈。我们有标准的LAMP堆栈网络应用程序,其中包含大量使用mysqli_query执行的数据库查询。这些查询目前尚未参数化,但使用addslashes对输入进行了一些简单的转义。我的任务是让这个系统更安全,因为我们很快就会进行渗透测试。上面的权力知道参数化查询是使系统更安全的方法,但是他们不想投入时间和精力来重写应用程序中的所有查询,也不想改变我们必须使它们全部实现的框架正常工作。所以基本上我是在问我在这里有什么选择?我对输入运行了mysqli_real_escape_string。我已经设置了一个过滤

php - 使用十六进制编码来防止SQL注入(inject)有什么弱点吗?

阅读一些关于SO的SQL注入(inject)问题和答案,我看到thisanswer这表明您可以将不受信任的用户输入转换为十六进制,这就其本质而言不需要转义任何类型,因此完全彻底地避免了SQL注入(inject)的可能性。您使用什么数据库抽象层(PDO、mysqli、mysql、PearDB等)无关紧要。正常工作查询的示例:$DBH=newPDO('mysql:host=127.0.0.1;dbname=test','test','testpassword');//couldhavebeen://$bookTitle=bin2hex($_GET['title']);$bookTitle=

php - mysql_real_escape_string 是否足以反 SQL 注入(inject)?

在PHP手册中,有一个注释:Note:Ifthisfunctionisnotusedtoescapedata,thequeryisvulnerabletoSQLInjectionAttacks.这足以抗sql注入(inject)吗?如果没有,你能举个例子和一个很好的反sql注入(inject)的解决方案吗? 最佳答案 mysql_real_escape_string通常足以避免SQL注入(inject)。不过,这确实取决于它没有错误,即它有一些小的未知机会易受攻击(但这尚未在现实​​世界中体现)。在概念层面上完全排除SQL注入(in

php - 在 Joomla 中防止 SQL 注入(inject)的最佳方法

我从POST方法中获取变量并使用Joomla2.5在MySQL上查询它们。最安全的使用方法是什么?目前我正在使用JRequest::getVar和mysql_real_escape_string。是否正确?$_POSTwithmysql_real_escape_string$password=mysql_real_escape_string($_POST["pwd"]));JRequest::getVarwithmysql_real_escape_string$password=mysql_real_escape_string(JRequest::getVar('pwd','','po

php - MySQL注入(inject)问题

我最近一直在用PHP编写我的网站代码,我为自己在查询中使用输入之前过滤输入的良好做法感到非常自豪。一切都很顺利,直到我的friend说我需要清理我的输入。当我试图向他解释它已被清理时,他向我展示了他已经在我的数据库的“用户”表中找到了所有内容。我不知道怎么做,所以我想我会发布我做错了什么,导致我的sanitizer不起作用。这是他正在利用的PHP代码:start_mysql();//Startsthedatabasesstuff,etc.$id=mysql_real_escape_string($_GET['id']);$game=mysql_query("SELECT*FROM`ga