已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PHP常见漏洞及解决方法,滥用include(1),漏洞原因有很多PHP脚本直接把某输入变量作为Include的参数,造成任意引用脚本、绝对路径泄露等漏洞。范例.$includepage=$_GETincludepage;include($includepage);.,滥用include(1),漏洞解决先判断页面是否存在再进行Include。范例$pagelist=array(test1.php,test2.php,test3.php);if(isset($_GETincludepage)$includepage=$_GETincludepage;foreach($pagelistas$prepage)if($includepage=$prepage)include($prepage);$checkfind=true;break;if($checkfind=true)unset($checkfind);elsedie();,未对输入变量进行过滤(1),漏洞原因存在SQL注入漏洞、档案储存问题范例$id=$_GETid;$query=SELECT*FROMmy_tablewhereid=.$id.;$result=mysql_query($query);-$text1=$_POSTtext1;$text2=$_POSTtext2;$text3=$_POSTtext3;$fd=fopen(test.php,a);fwrite($fd,rn$text1,未对输入变量进行过滤(1),漏洞解决严格对全部提交的变量进行过滤。范例functionflt_tags($text)$badwords=array(,);$badwords=array(,);$text=rtrim($text);foreach($badwordsas$badword)foreach($badwordsas$badword)if(stristr($text,$badword)=true)die();,$text=htmlspecialchars($text);/HTML替换$text=str_replace(r,$text);$text=str_replace(n,$text);$text=str_replace(,$text1=$_POSTtext1;$text2=$_POSTtext2;$text3=$_POSTtext3;$text1=flt_tags($text1);$text2=flt_tags($text2);$text3=flt_tags($text3);$fd=fopen(test.php,a);fwrite($fd,rn$text1,管理员判断不完全(1),漏洞原因我们用PHP写脚本,通常要涉及管理员的权限问题。而一些脚本对管理员权限作出“是”判断,而往往忽略了“否”判断。范例$cookiesign=admincookiesign;$adminsign=$_COOKIEsign;If($adminsign=$cookiesign)$admin=true;if($admin)echo;,管理员判断不完全(1),漏洞解决在脚本中加入对管理员的“否”判断即可。范例$cookiesign=admincookiesign;$adminsign=$_COOKIEsign;if($adminsign=$cookiesign)define(admin,true);elsedefine(admin,false);if(admin)echo;,错误路径泄露(1),漏洞原因PHP遇到错误时,就会给出出错脚本的位置、行数和原因,例如:Notice:Useofundefinedconstanttest-assumedtestinD:interpubbigflytest.phponline3Notice:Useofundefinedconstanttest-assumedtestinD:interpubbigflytest.phponline3,错误路径泄露(2),漏洞解决display_errors设置为Off、利用set_error_handler()来解决范例/自定义的错误处理函数一定要有这个输入变量$errno,$errstr,$errfile,$errline,否则无效。,functionmy_error_handler($errno,$errstr,$errfile,$errline)if(!admin)$errfile=str_replace(getcwd(),$errfile);$errstr=str_replace(getcwd(),$errstr);switch($errno)caseE_ERROR:caseE_ERROR:echoERROR:ID$errno$errstr(Line:$errlineof$errfile)echoERROR:ID$errno$errstr(Line:$errlineof$errfile)n;echo;exit;break;caseE_WARNING:caseE_WARNING:echoWARNING:ID$errno$errstr(Line:$errlineof$errfile)echoWARNING:ID$errno$errstr(Line:$errlineof$errfile)n;break;default:break;/把错误处理设置为my_error_handler函数set_error_handler(my_error_handler);,POST漏洞(1),漏洞原因在一些留言本和论坛程序中,更要严格检查页面的方式和提交的时间间隔。以防止灌水式发帖和外部提交。范例.$text1=flt_tags($text1);$text2=flt_tags($text2);$text3=flt_tags($text3);$fd=fopen(data.php,a);fwrite($fd,rn$text1.,POST漏洞(2),漏洞解决$_SESSION“allowgbookpost”=time();/登记填写时的时间在接受留言数据并保存的页面中我们在进行数据处理前我们也用Session进行以下处理:if(strtoupper($_SERVER“REQUEST_METHOD”)!=”POST”)die(“错误:请勿在外部提交。”);/检查页面获得方法是否为POSTif(!isset($_SESSION“allowgbookpost”)or(time()-$_SESSION“allowgbookpost”10)die(“错误:请勿在外部提交。”);/检查留言填写时的时间if(isset($_SESSIONgbookposttime)and(time()-$_SESSIONgbookposttime120)die(错误:两次提交留言的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学安全知识竞赛题库及答案
- 事业编考试题及答案
- 2025年税务师《财务与会计》测测试题
- 一级建造师建筑工程实务真题(案例)
- 2020年上海市《口腔内科学》测试卷(第700套)
- 《计算机应用基础》(本)网上作业答案
- 国家开放大学《学前儿童社会教育》形考4答案
- 2025年医院服务能力与质量安全培训考核试题
- 五一矿安全培训单项选择题试题
- 养老护理员(技师)考试题库试卷
- 《低压开关电子脱扣器现场检验及运行规程》
- 《工程勘察设计收费标准》(2002年修订本)-完整版-1
- 公路工程标准施工招标文件(2018年版)
- 小吃合伙经营合同协议书
- 施工安全的教育培训记录表
- 人教版八年级上册英语Unit 6单元整体教学设计
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- DL∕T 5375-2018 火力发电厂可行性研究报告内容深度规定
- (高清版)JTG 3370.1-2018 公路隧道设计规范 第一册 土建工程
- 耳穴疗法基础知识
- 激光熔覆稀释率的概念讲解课件
评论
0/150
提交评论