我的页面只显示来自数据库表的数据,php页面只显示他们没有任何按钮,链接,下拉菜单或表单的信息。
我正在使用旧的mysql,而不是用于语法的mysqli或PDO
我仍然可以得到一个SQl注入黑客吗?
发布于 2014-03-03 16:47:35
这完全取决于查询源。如果SQL查询的任何部分来自用户输入(换句话说,如果不是整个查询字符串都是字符串常量),那么您就不安全。
例如:
SELECT * FROM USERS ;
SELECT * FROM myTable WHERE id = 5;
是安全的,但是
SELECT * FROM myTable WHERE id = (some variable derived from user input like querystring or post-form)
is DEFINETELY not.
你应该使用
SELECT * FROM myTable WHERE id = @0
实现最大安全性的语法。这是唯一经过验证的防止SQL注入安全的方法。
发布于 2014-03-03 16:47:50
为了让SQL注入起作用,他们需要一种方法将SQL代码发送到您的服务器,因为没有输入,所以理论上他们不可能注入SQL。(虽然我不是这方面的专家)
我仍然建议你使用像mysqli或PDO这样的框架,你应该熟悉这些框架,因为它们已经成为网站设计的标准。
发布于 2014-03-03 16:54:05
SQL注入的工作原理是将字符串注入到正在执行的SQL中。
如果应用程序显示一个漂亮的文本框,并将其内容粘合到SQL查询中,这将是最简单的,但也可以通过其他方式实现。
例如,如果您的报告应用程序使用任何类型的HTTP请求来显示数据,攻击者就可以使用WGET伪造请求并注入SQL。例如,如果您的报告的URL格式为SQL,而您使用february
构建http://myserver/report.php?month=february
查询,那么您就很容易受到攻击。
https://stackoverflow.com/questions/22152298
复制