注入攻击(我以为我受到了保护!)<?php/**/eval(base64_decode(无处不在

Cyp*_*106 6 php sql security sql-injection

我有一个完全自定义的PHP站点,有很多数据库调用.我刚被注射入侵.下面的这一小块代码出现在我的几十个PHP页面中.

<?php /**/ eval(base64_decode(big string of code....
Run Code Online (Sandbox Code Playgroud)

我一直非常小心我的SQL调用等等; 他们都是这种格式:

$query = sprintf("UPDATE Sales SET `Shipped`='1', `Tracking_Number`='%s' WHERE ID='%s' LIMIT 1 ;",  
 mysql_real_escape_string($trackNo),
 mysql_real_escape_string($id)); 
 $result = mysql_query($query);  
 mysql_close();
Run Code Online (Sandbox Code Playgroud)

为了记录,我最后很少使用mysql_close().这恰好是我抓住的代码.我想不到任何我不使用的地方mysql_real_escape_string(),(虽然我确定可能有一对.我很快就会贪图找出来).也没有用户可以放入自定义HTML或任何内容的地方.事实上,大多数用户可访问的页面,如果他们使用SQL调用,几乎不可避免地SELECT * FROM是使用GET或POST的页面,具体取决于.

显然我需要加强我的安全性,但我从来没有像这样的攻击,我不肯定我该做什么.我决定对我的所有输入进行限制,然后查看我是否错过了mysql_real_escape_string某个地方.还有其他人有什么建议吗?

此外,这种类型的代码有什么作用?为什么会这样?

Pab*_*res 5

这可能是由于任何已经危害服务器的常见攻击造成的.

通常它是由LFI(本地文件包含)引起的,但它可能是由任何东西引起的.

您可以从以下网址了解更多有关LFI

http://labs.neohapsis.com/2008/07/21/local-file-inclusion-%E2%80%93-tricks-of-the-trade/

希望它有所帮助(一点点)


You*_*nse 5

事实上,SQL注入并不是您的服务器可能遭受的唯一攻击类型.

而且这个看起来不像SQL注入.

大部分时间它只是你的PC上的特洛伊木马,窃取FTP密码.

要查看实际代码,请用echo替换eval.但我怀疑它有什么有趣的