这篇文章主要讲解了“Java代码审计后台注入漏洞举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java代码审计后台注入漏洞举例分析”吧!
部署简介
1,下载代码文件,可以本机调试或上传到自己服务器运行。
2,安装运行程序:
(1)将解压文件夹中的opencarrun安装包复制到tomcat——在webapps——比;下,
(2)将sql导入mysql;
(3)启动tomcat;
(4)启动完毕后,前台访问地址:http://localhost: 8080/opencarrun/
引用>3,开发包安装
打开MyEclipse——在文件——在进口,在选择现有Porjects工作区,在未来,在选择根目录选择刚才解压的开发包文件中的opencar——在完成
sql审计过程
漏洞位置:
WebRoot \ web - inf \ lib \ car-weishang-1.0.jar ! \ com \ weishang \ \ admin \ DeleteAunt。类
引用>功能模块:删除外聘员工
<代码> <强>公共空白强> doGet (HttpServletRequest请求,HttpServletResponse响应)<强> 强> ServletException, IOException {
,,,response.setContentType(<强>“text/html; charset=UTF-8" 强>);
,,,PrintWriter=response.getWriter ();
,,,ShopService党卫军=<强>新强> ShopService ();
,,, HttpSession会话=request.getSession(<强>真正的强>);
,,,对象用户=session.getAttribute(<强>“user" 强>);
,,,地区loc=<强>新强>语言环境(<强>“zh"> 强劲,<强>“CN" 强>);
,,,ResourceBundle rb=ResourceBundle.getBundle(<强>“messages" >强,loc),
,,,字符串adminTip=rb.getString(<强>“adminTip" 强>);
,,, json字符串=<强>““>强;
,,,<强>如果强>(用户==<强>空强>){
,,,,,,,RequestDispatcher rd=request.getRequestDispatcher(<强>“/web - inf/jsp/login.jsp" 强>);
,,,,,,,request.setAttribute(<强>“tip" >强,adminTip);
,,,,,,,rd.forward(请求、响应);
,,,其他}<强> 强> {
,,,,,,, String [] auntIds=request.getParameterValues(<强>“aunt_id" 强>);
,,,,,,,字符串id=<强>““>强;
,,,,,,,<强> 强>(<强> int 强>=0;我& lt;auntIds.length;+ + i) {
,,,,,,,,,,,id=id + auntIds[我]+ <强>“,“>强;
,,,,,,,}
,,,,,,,id=id。substring (0, ids.length () - 1),
,,,,,,,字符串国旗=ss.deleteAunt (ids);
,,,,,,,<强> 强> (flag.equals(<强>“ok" 强>)){
,,,,,,,,,,,json=<强>“{强> <强> \“强> <强>提示强> <强> \“强> <强>:强> <强> \“强> <强>“强> + rb.getString(<强>“delete" 强>)+ rb.getString(<强>“success" 强>)+ <强>“强> <强> \“强> <强>}“强>,
,,,,,,,其他}<强> 强> {
,,,,,,,,,,,json=<强>“{强> <强> \“强> <强>提示强> <强> \“强> <强>:强> <强> \“强> <强>“强> + rb.getString(<强>“delete" 强>)+ rb.getString(<强>“failure" 强>)+ <强>“强> <强> \“强> <强>}“强>,
,,,,,,,}
,,,,,,,都会(json);
,,,}
} 代码>request.getParameterValues (“aunt_id"),获取获取用户值,赋值给字符串数组变量,aunt_id,, aunt_id经过处理交给ids变量,而id变量进入deleteAunt方法,这里通过国旗变量判断执行是否成功,这样只可能存在盲注了,跟进去:
deleteAunt方法位于
/WebRoot/web - inf/lib/car-weishang-1.0.jar !/com/weishang/my/service/ShopService。类
引用><代码> <强> 强> <强> 强> <强> 强> <强> 强> <强> 强> <强> 强> <强> 强> <强> 强> <强> 强> 代码>从这个方法看是一个执行删除操作,变量id,也就是我们问题参数直接被拼接到sql语句中,未做编译,未做任何过滤,从而造成注入漏洞,
<强>修复建议强>
做全局过滤,或使用参数绑定
感谢各位的阅读,以上就是“Java代码审计后台注入漏洞举例分析”的内容了,经过本文的学习后,相信大家对Java代码审计后台注入漏洞举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
Java代码审计后台注入漏洞举例分析