刷题[SUCTF 2019]CheckIn】的更多相关文章

解题思路 打开网页发现只是简单做了一个上传界面,朴实无华 上传一个php文件,发现非法后缀. 上传一个.htaccess文件,发现,爆出很重要的信息 exif_imagetype函数通过检测文件头来检测是否是规定的格式,这里我们只需构造头文件为GIF98a,内容自定的图片马,即可绕过函数限制 上传后发现<?被禁用,使用另外的方法. 提交后发现上传成功,路径为:uploads/adeee0c170ad4ffb110df0cde294aecd 现在思考如何利用图片马.需要有一个文件能包含我们的图片马…
目录 刷题记录:[SUCTF 2019]CheckIn 一.涉及知识点 1.利用.user.ini上传\隐藏后门 2.绕过exif_imagetype()的奇技淫巧 二.解题方法 刷题记录:[SUCTF 2019]CheckIn 题 目复现链接:https://buuoj.cn/challenges 参考链接:从SUCTF 2019 CheckIn 浅谈.user.ini的利用 一.涉及知识点 1.利用.user.ini上传\隐藏后门 参考链接:user.ini文件构成的PHP后门 条件: 1.…
感觉这题师傅们已经写得很详细了,我就做一个思路梳理吧,顺道学一波.user.ini 步骤: 1.上传一个“.user.ini”文件 2.上传自己的马“a.jpg” 3.菜刀连接 "http://b302f16c-6762-4496-be93-e544912aaf0d.node3.buuoj.cn/uploads/f4e7685fe689f675c85caeefaedcf40c/index.php",密码“pass” 解析: <?php // error_reporting(0);…
进入靶场只有一个文件上传界面,上传php一句话木马提示非法后缀. 尝试利用php后缀的多样性绕过,发现都被过滤掉了,先把php改成.jpg的图片,提示说有问号在内容中. php后缀的多样性:php语言除了可以解析以php为后缀的文件,还可以解析php2,php3.php4.php5.php6.phtml.pht.pHp,Php,phP这些后缀的文件.(php1.php2上传失败php3.php4仍有可能上传成功,因为不同的服务器,可以上传的文件类型也不同,所以需要进行逐个排除) 利用JavaSc…
比较经典的一道文件上传题,考察.user.ini控制解析图片方式 打开题目给出了上传功能,源代码里也没有任何提示,看来需要先测试一下过滤 前后依次提交了php,php5,php7,phtml拓展名的文件,发现都被过滤,并且PHP代码中不能含有<?字符 这个时候首先想到利用HTML的<script language='php'>标签来插入PHP代码 但是拦截了常规的PHP拓展名,第一时间想到上传一个含有PHP代码的jpg文件,然后利用.htaccess来将jpg文件当作PHP文件解析 发现…
解题思路 打开网站,登陆框.注册一个用户后再登陆 看样子是注入了,在feedback.php中发现注释 <!-- if(is_array($feedback)){ echo "<script>alert('反馈不合法');</script>"; return false; } $blacklist = ['_','\'','&','\\','#','%','input','script','iframe','host','onload','oner…
解题思路 打开发现需要输入名字,猜测会有sql注入漏洞,测试一下发现单引号被过滤了,再fuzs下看看过滤了哪些 长度为1518和1519的都有过滤,测试一下,感觉不是sql注入了.那还有什么呢,考虑了ssti 使用{{7*7}},我直接傻了,怎么python的后端会报php的错,这里直接思路断了,找了其他的也没有发现有什么.直接看wp了,wp说看到返回头后发现是python写的后端,我这也没看出来有啥啊,希望有师傅知道的留言下,从哪看出来的 作者说加了个php模式的报错和index.php路由.…
解题思路 进入upload,发现有源码,代码审计 代码审计 大概意思就是,读取我们上传的文件,截取第五位之后的内容,与黑名单不匹配才能上传成功 我传的是一个空的txt文件,发现会变成php文件,那好办了.现在测试一下禁了哪些内容 fuzz 发现不能使用php的正常标签,使用短标签可以绕过,异或字符可以用,那么使用异或的办法,编写exp exp <?=$_=[];$__.=$_;$____=$_==$_;$___=~茉[$____];$___.=~内[$____];$___.=~茉[$____];…
前置知识 本题框架是flask框架,正好python面向对象和flask框架没怎么学,借着这个好好学一下 这里我直接听mooc上北京大学陈斌老师的内容,因为讲的比较清楚,直接把他的ppt拿过来,看看就懂了 解题思路 直接给源码,得知是python,flask框架.审就完事了 代码审计 #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request import socket impo…
前置知识 一些关于php7.4版本需知: 1.FFI扩展:ffi.cdef 其中还有这样一段话 如果ffi.cdef没有第二个参数,会在全局查找,第一个参数所声明的符号.意思就是其在不传入第二个参数时,可以直接调用php代码.所以我们在声明后,即可加入php代码 2.Serializable接口 在待会的代码审计中你会接触到Serializable接口. 如果一个类同时实现了Serializable和__Serialize()/__Unserialize(),则序列化将倾向于使用新机制,而非序列…