注入非SQL站点(仅限PHP)

时间:2012-07-04 22:13:01

标签: php code-injection

我有一个没有SQL的CMS网站。一切都写入文件。

但是有一个函数(login($login, $pass))使用简单的if-else语句检查登录表单中的POST数据

if 
    login-data-from-file == POST['login'] 
and
    password-data-from-file == POST['pass'] 
then 
   "Log user in"

我想知道是否有办法注入这样的代码。你觉得怎么样?

3 个答案:

答案 0 :(得分:5)

没有,因为大概你只是比较字符串。

但是,对SQL注入的免疫力不会自动使任何应用程序安全。总是cross site scriptingsession fixation需要担心(只有两种最常见的攻击媒介)。

答案 1 :(得分:1)

如果您没有使用eval或任何其他黑魔法,则无法直接注入PHP代码。虽然在文件中以明文形式存储用户和密码不是很安全。如果你仍然想这样做,你应该确保

  1. 包含用户名和密码的文件存储在可公开访问的文件夹
  2. 之外的位置
  3. 密码经过哈希处理(非常重要!)
  4. 代码中没有地方可供用户访问包含用户名和密码的文件

答案 2 :(得分:0)

如果你做了正确的if-else语句,我认为没有办法注入这段代码。可以发送NULL值(%00),但不应该改变任何内容。