Ctfshow
Web入门
151
查看源代码,发现只能上传.png的文件
用bp抓包.png的图片格式
添加一句话木马,文件格式修改成.php
对于上传成功的后门代码,
直接通过hackbar发送post包利用php内置system()函数执行
查看flag.php文件
152
和上一题做题步骤一样
但此题考点不同的是添加了后端验证
传 png 后缀的木马,使用 burpsuite 抓包,改回 php 后缀发包即可,这里后端检测的就是这个 Content-Type(MIME类型),因为我们本身一开始就是传的 png 后缀,所以这里不需要改,就是 image/png 类型,如果你一开始传的 php 后缀,则需要改这个 Content-Type 为图片类型。
153
按照上一题的方法,发现失败
修改后缀大小,成功但无法解析
发现服务器是nginx
上传配置文件 .htaccess 或者 .user.ini
这个是文件上传很常规的操作,这两个配置文件都可以让其它类型的文件被当做 php 文件进行解析,具体哪个能用,取决于题目环境的实际情况。
这道题它是要连 /upload/index.php
原因是是木马被自动包含进原来目录里的 php 文件,一般是index.php
154
按照第一题的方法,文件类型不行
更改大小写试试,将php换成phP
也不行
试试将<?phP一起换
成功
访问直接下载
继续上一题做法.user.ini
155
发现更改大小写都无法避免文件类型
猜测过滤了php
先上传.png文件
删除木马中的php
后续和上一题一样
156
和上一题一样只不过这一次过滤的一句话木马中的php和[ ]
但在php中{ }可以代替[ ]
其他做法就和上一题一样了
157
过滤的一句话木马中的php和[ ]和;
换一种方法
先上传.user.ini
后上传1.png
Bp抓包传入
<?=system('tac ../fl*')?>
直接访问url+upload/index.php
158
和上一题一样
159
过滤内容变为(
反引号``,在linux操作系统系统中我们可以使用反引号包裹命令去执行,而之前我们所有获取结果的操作都是使用命令得到
<?=`tac ../fl*`?>
后续一样
160
空格、反引号被过滤了。命令执行相关的函数和方法给限制了。
文件包含,include可以不用括号,中间也可以不用空格。
log也被过滤,好可以字符串拼接。
<?=include"/var/l"."og/nginx/access.lo"."g"?>
先上传.user.ini,在上传1.png,用include同时传输php语句(可以url地址上get传)在User-Agent上传。
太乱了,查看源代码
161
直接上传文件显示文件类型不合格
带上文件头GIF89a
.user.ini同样带上文件头
标签:web,文件,ctfshow,木马,一题,php,上传,png From: https://www.cnblogs.com/cxin5/p/18521075