草庐IT

SqliteDatabase

全部标签

Android安全检测之数据库注入漏洞,扫描反编译apk后的代码文件,发现 query()的参数为拼接字符串,SQLiteDatabase的rawQuery查询漏洞

直奔主题,先看一个安全风险隐患整改通知: 被检测出风险的代码如下(通过机型过滤数据):Stringsql="select*frombehaviorwheredevice='"+et_device.getText().toString()+"'";CursorrawQuery=sQLiteDatabase.rawQuery(sql,null);产生原因:query()中使用拼接字符串组成SQL语句的形式去查询数据库,那么为什么这样做就会有注入漏洞呢,以上面被检测到有风险的代码为例:通常的情况,在编辑框里面输入的device是一个固定的型号,如“HUAWEI”,查询语句就是:select*from

Android安全检测之数据库注入漏洞,扫描反编译apk后的代码文件,发现 query()的参数为拼接字符串,SQLiteDatabase的rawQuery查询漏洞

直奔主题,先看一个安全风险隐患整改通知: 被检测出风险的代码如下(通过机型过滤数据):Stringsql="select*frombehaviorwheredevice='"+et_device.getText().toString()+"'";CursorrawQuery=sQLiteDatabase.rawQuery(sql,null);产生原因:query()中使用拼接字符串组成SQL语句的形式去查询数据库,那么为什么这样做就会有注入漏洞呢,以上面被检测到有风险的代码为例:通常的情况,在编辑框里面输入的device是一个固定的型号,如“HUAWEI”,查询语句就是:select*from