1、远程文件重写漏洞讲解这次课程说下针对远程文件重写的问题,其实简单来说,就是可以直接非授权修改配置文件或其他文件。这种漏洞常常出现在安装文件、更新文件、访问配置文件的文件。漏洞出现情况:1. 本应做访问权限限制的文件,没有添加访问限制代码,导致非授权访问。2. 未对用户输入有太多的想法导致远程重写。 (这种漏洞的代码编写者对安全了解不够深入,并不知道凡是用户输入的都有可能是不安全的。 )3. 由于变量未初始化导致远程文件重写。简单就说这几种。其实这几种都有一个共同点就是都是写入文件的代码未授权或者没做限制导致的问题。首先看第一个实例:魅力企业网站管理系统 2009 SP3 中英繁漏洞漏洞作者:幻
2、泉B.S.N 源码下载 http:/ 官方网站 http:/ 漏洞等级:高 Google 搜索:“0351-6061896“ 漏洞说明: 防注入系统未设置登陆导致可以访问插入一句话 插入地址:/SqlIn/sqlIn_admin.asp 插入代码:“:execute request(“value“):a=“ 信息来源:黑客防线 http:/ 09.03.12这个漏洞属于第一种漏洞情况的例子,本来应该对 sqlln_admin.asp 做访问限制的,但是并没有做,或者没有起作用导致可以写入。接下来看一个国外代码的漏洞Remote File Overwriting 他们叫这个名,中文翻译就是 “远
3、程文件重写” ,废话不复制了,复制主要代码。- Risk: hight- File affected: install.phpThis bug allows a guest to overwrite config.inc.phpinserting PHP code.*+ Code- A Remote File Overwriting/这个代码就很简单了远程利用 post 提交“; system($_GETcmd); echo ”这个代码。跟前面插入的代码差不多,但是国外比较喜欢这种执行 cmd 命令的。你可以用你的代码进行替换PHP-agenda To execute commands:htt
4、p:/ a /然后就可以调用 config.inc.php 来写入了。这里我给附加一个条件 magic_quotes_gpc 必须为 off *我们再来看看他的代码:; /一堆 data 数据连接到一起变成一个 php 文件内容$temp = config.inc.php; #define temporary target name /定义要重写或者修改的文件$fp = fopen($temp, “w“, 0) or die(“Installation failed. Make sure config.inc.php is writable by the webserver.“); #open for writingfputs($fp, $data); #write all of $data to our opened file /这些他做了注解比较详细了,就是个打开写入关闭的操作。fclose($fp); #close the fileecho “Config file was succesfully created.“;