大佬教程收集整理的这篇文章主要介绍了文件包含和文件读取漏洞代码审计,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
漏洞代码出现在/message/index.PHP文件中,代码如下:
if(!$metid) $metid='index'; if($metid!='index'){ require_once $metid.'.PHP' }else{ /*省略*/ }
这一段代码很简单,使用require_once函数包含了传进去的参数$metid.PHP文件,我们可以包含本地文件,使用截断来进行利用。
如果是想要进行远程文件包含的话,需要服务器端的allow_url_include=on,也就是允许远程文件包含才可以,然后我们可以直接远程包含一句话木马拿sHell
漏洞位于文件/PHPcms/modules/search/index.PHP public_的public_get_suggest_keyword()函数
public function public_get_suggest_keyword(){ $url=$_GET['url'].'&q='.$_GET['q']; $res=@file_get_contents($url); if(CHARSET != 'gbk'){ $res=iconv('gbk',CHARSET,$res); } echo $res; }
可以看到在该函数从GET方法里面获取要读取的URL和文件,使用file_get_contents函数来读取内容,当然我们要读取任意目录的文件的话,需要使用../来实现跳级
比如?url=&q=../../1.PHP,这样我们就可以利用跳级读取任意我们知道文件名的文件
/index.PHP?m=search&c=index&a=public_get_suggest_keyword&url=&q=../../phpsso_server/caches/configs/database.PHP
感觉这两个漏洞看上去不是很难,但是在当时安全意识比较落后的时候,应该很少有人能意识到这样编写代码所造成的危害。
以上是大佬教程为你收集整理的文件包含和文件读取漏洞代码审计全部内容,希望文章能够帮你解决文件包含和文件读取漏洞代码审计所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。