Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的输入参数清理以避免漏洞_Android_Sql Injection_Privacy_Input Sanitization_Path Manipulation - Fatal编程技术网

android中的输入参数清理以避免漏洞

android中的输入参数清理以避免漏洞,android,sql-injection,privacy,input-sanitization,path-manipulation,Android,Sql Injection,Privacy,Input Sanitization,Path Manipulation,最近,虽然我的android应用程序审计员的源代码审计提出了一些问题,比如路径操纵、隐私侵犯攻击 从最近几天开始,我一直在寻找合适的解决方案,但没有找到任何有效的解决方案。请为我提供以下问题的解决方案 1. File f = new File("filepath"); 如何防止攻击者操纵文件路径 2. private void selectDataFromDB(String param1,String param2){ sqlitedatabase.query("Select * from

最近,虽然我的android应用程序审计员的源代码审计提出了一些问题,比如路径操纵、隐私侵犯攻击

从最近几天开始,我一直在寻找合适的解决方案,但没有找到任何有效的解决方案。请为我提供以下问题的解决方案

1. File f = new File("filepath");
如何防止攻击者操纵文件路径

2. private void selectDataFromDB(String param1,String param2){
  sqlitedatabase.query("Select * from tbl1 where col1 LIKE ? and colu2 LIKE   ?",new String[]{param1,param2});
}
如何验证参数,使攻击者无法更改此参数? 输入消毒?如何应用它

编辑1:

MyActivity.java
中的
selectDataFromDB()
方法错误地处理机密信息,这可能会损害用户隐私,并且通常是非法的


他们建议我应用输入净化

使用查询参数时,不需要清理输入。这是使用参数化SQL语句的最佳理由之一。查询参数的值不可能更改SQL语法


你的审计人员可能不理解

我认为你需要问更清楚的问题。虽然select*在db上有点不好(您应该请求列名),但只要您使用绑定变量(就像您一样),SQL语句就可以了。您可能应该添加一个空检查,可能是一个空字符串检查(除非您同意所有内容都是匹配的),但是SQL是可以的。非常感谢@Gabeschen。在调用这些方法之前,我已经检查了NULL参数,但审计员并不认为它是合适的。请帮我摆脱它。我已经更新了我的问题。然后问你的审核员出了什么问题。因为我看不到任何合适的东西。如果你真的在和审计员谈话,他们会告诉你原因是什么。但是这里没有sql注入的风险。我从你的编辑中猜到,你用*请求的信息太多了,他们希望你请求的更少。他们建议我应用输入净化。我检查了多个链接,但找不到任何内容。在php中有一个默认函数,可以检查特殊字符,但在android中没有。