您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
aduit(aduit怎么读)
漏洞,命令,安全aduit(aduit怎么读)
发布时间:2016-12-08加入收藏来源:互联网点击:
再举一例:
//同样没有对外部传入的命令拼接参数input做任何安全处理Runtime r = Runtime.getRuntime();r.exec("/bin/sh -c some_tool" + input);(2) 对外部传入的命令拼接参数做安全限制,如:
//对外部传入的命令拼接参数做了限制//正则限定为合法IP地址if (!Pattern.matches("([1-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])(\\\\.(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])){3}", command)){ //如果不是IP则匹配不成功,则为F,!F则为T,T则执行此代码块 result.put("message", "Error!"); return DataUtil.toJson(result);}System.out.println("Command: ping"+ command);Runtime rt = Runtime.getRuntime();Process proc = rt.exec("cmd.exe /C ping "+command);int res = proc.waitFor();if(res !=0){ System.out.println("process error: "+ res);}InputStream in = (res == 0)? proc.getInputStream() : proc.getErrorStream();BufferedReader reader=new BufferedReader(new InputStreamReader(in));buffer=new StringBuffer();String line;while((line = reader.readLine())!=null){ buffer.append(line+"\\n");}修复方案
构建白名单,只允许其中的字符出现在输入中应有应用程序来控制命令,并使用绝对路径来执行命令严格的权限限制,程序执行外部命令使用最小权限原则严格的参数校验Reference《代码审计:企业级Web代码安全架构》https://websec.readthedocs.io/zh/latest/misc/aduit.html#id13https://www.t00ls.net/downloads/pdf/44616f331b0cb3bdffbafe3b3399f34e.pdf本文到此结束,希望对大家有所帮助呢。
上一篇:沟通漏斗(沟通漏斗原理)
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |