jeecg-boot sql注入漏洞解决

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

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

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

如下:

@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<Map<String, String>> 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<Map<String,String>> getDictByTableNgAlain(@Param("table") String table, @Param("key") String key, @Param("value") String value);

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

猜你喜欢

转载自blog.csdn.net/qq_40032778/article/details/131784804