jeecg-boot sql注入漏洞解决

      输入下面的链接地址,就会出现下面的获取数据,这个漏洞还是比较严重的啊

http://localhost:8080/nbcio-boot/sys/ng-alain/getDictItemsByTable/'%20from%20sys_user/*,%20'/x.js
 

通过上面方式可以获取用户信息了

如下:

jeecg-boot sql注入漏洞解决_第1张图片

@RequestMapping(value = "/getDictItemsByTable/{table}/{key}/{value}", method = RequestMethod.GET)
    public Object getDictItemsByTable(@PathVariable String table,@PathVariable String key,@PathVariable String value) {
        //return this.ngAlainService.getDictByTable(table,key,value); //by nbacheng 有sql注入漏洞
    	return null;
    }

 看代码是上面接口部分

 

 @Override
    public List> getDictByTable(String table, String key, String value) {
        return this.mapper.getDictByTableNgAlain(table,key,value);
    }

这个下面的sql语句本身就漏洞,还好,本身也不用了,所以可以注释掉了或去掉。

@Deprecated
	@Select("select ${key} as \"label\",${value} as \"value\" from ${table}")
	public List> getDictByTableNgAlain(@Param("table") String table, @Param("key") String key, @Param("value") String value);

感谢网友提供的漏洞信息。

你可能感兴趣的:(java开发,jeecg-boot,sql,数据库)