来源:自学PHP网 时间:2015-04-16 23:15 作者: 阅读:次
[导读] include fun_personal php(381-398)$j=get_resume_basic($uid,$pid);$searchtab[ 39;sex 39;]=$j[ 39;sex 39;];$searchtab[ 39;nature 39;]=$j[ 39;nature 39;];$searchtab[ 39;marriage 39;]=$j[ 39...
include/fun_personal.php(381-398)
$j=get_resume_basic($uid,$pid); $searchtab['sex']=$j['sex']; $searchtab['nature']=$j['nature']; $searchtab['marriage']=$j['marriage']; $searchtab['experience']=$j['experience']; $searchtab['district']=$j['district']; $searchtab['sdistrict']=$j['sdistrict']; $searchtab['wage']=$j['wage']; $searchtab['education']=$j['education']; $searchtab['photo']=$j['photo']; $searchtab['refreshtime']=$j['refreshtime']; $searchtab['talent']=$j['talent']; updatetable(table('resume_search_rtime'),$searchtab,"uid='{$uid}' AND id='{$pid}'"); $searchtab['key']=$j['key']; $searchtab['likekey']=$j['intention_jobs'].','.$j['recentjobs'].','.$j['specialty'].','.$j['fullname']; updatetable(table('resume_search_key'),$searchtab,"uid='{$uid}' AND id='{$pid}'");
当第一次提交的时候,参数做了过滤,然是系统存入数据库时候,又被还原回来了,所以$j=get_resume_basic($uid,$pid);所取出来的数据,是一个干净的没有被转义过的数据,
让数据流向$searchtab['likekey']=$j['intention_jobs'].','.$j['recentjobs'].','.$j['specialty'].','.$j['fullname'];
并且执行updatetable(table('resume_search_key'),$searchtab,"uid='{$uid}' AND id='{$pid}'");
时候,漏洞产生了。
自己填写一份简历,然后修改求职意向那一栏,如图所示
当我们点击提交后,sql完整执行,通过这里可以看出来,这是一个完全可控制的sql注入,所以你可以拿到你任何数据,危害比较大
修复方案:
对此get_resume_basic($uid,$pid);取出来的数据,要做转移
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com