小朱订单管理系统的一个注入及getshell和修复
漏洞出现在订单处理页面dorder.php。
代码如下:
<?php//设置工程相对路径$root_path="./";require_once("$root_path/lib/config.php");require_once("$root_path/data/dconfig.php");if(isset($_POST['realname'])){ session_start(); $db=new MySql(); //登录判断 $pro_name=str_check($_POST['pro_name']); $pay_type=str_check($_POST['pay_type']); $realname=str_check($_POST['realname']); $tel=str_check($_POST['tel']); $tel2=str_check($_POST['tel2']); $tmpadd=str_check($_POST['addess']); $guest=str_check($_POST['guest']); $addess=str_check($_POST['province3']).str_check($_POST['city3']).str_check($_POST['area3']).str_check($_POST['addess']); $qq=str_check($_POST['qq']); $post=str_check($_POST['post']); $mun=intval($_POST['mun']); $email=str_check($_POST['email']); $pay_time=date("mdhis"); //来路 $referer = $_SERVER['HTTP_REFERER']; if(empty($realname)){ showmessage_go("您的姓名!"); }else{ $ip=ip(); $sql = "INSERT INTO dindan (pro_name,pay_type,pay_time, realname,tel,tel2,addess,guest,ips,lastdate,qq,post,mun,email,shen) " . "VALUES ('$pro_name','$pay_type','$pay_time','$realname','$tel','$tel2','$addess','$guest','$ip',now(),'$qq','$post','$mun','$email','$referer')"; $res = $GLOBALS['db']->query($sql); $mailok=0; if(file_exists("$root_path/data/dmailconfig.php")){ require_once("$root_path/data/dmailconfig.php"); } if($mailok==1 && $smtpusermail && $smtpemailto){ //发送 require_once("$root_path/lib/email.class.php"); $mailbody .="<h1> 姓名:".$realname."<br>"; $mailbody .="<h1> 联系电话:".$tel."<br>"; $mailbody .="<h1> 产品:".$pro_name."<br>"; $mailbody .="<h1> 地址:".$addess."<br>"; $mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件 $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证. $smtp->debug = FALSE;//是否显示发送的调试信息 $smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype); } $msg="订单提交成功,我们会尽快为您安排发货,祝您购物愉快!"; echo "<script>alert('$msg');self.location=document.referrer</script>"; } }?><script type="text/javascript">var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F7377a24b653a552e0cd982b3102668da' type='text/javascript'%3E%3C/script%3E"));</script>
漏洞很明显,$ip处没有过滤,产生注入。
$ip=ip(); $sql = "INSERT INTO dindan (pro_name,pay_type,pay_time, realname,tel,tel2,addess,guest,ips,lastdate,qq,post,mun,email,shen) " . "VALUES ('$pro_name','$pay_type','$pay_time','$realname','$tel','$tel2','$addess','$guest','$ip',now(),'$qq','$post','$mun','$email','$referer')";
后台拿shell也很简单,可以直接插一句话的,在设置那儿有两处可以直接插直接写入文件。
www.vm888.com 提供修复思路:
过滤$ip
www.vm888.com 提供修复思路:
过滤$ip
>更多相关文章
- 11-15不看后悔!程序员防御XSS的无奈
- 11-10揭秘Web黑客3种注入点判断方法
- 11-10黑客Web脚本注入攻击深度剖析
- 10-21全球无线网络面临黑客攻击风险 WiFi曝安全漏洞
- 02-24iPhone再爆安全漏洞 黑客1分钟可盗照片及加密信息
- 02-22互联网金融风险 警示网站漏洞或成“致命点”
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御