[JMCTF 2021]UploadHub
考点:.hatccess文件上传。
一开始上传尝试上传一句话木马,无法正常解析,看了一下配置文件。
1 | php_flag engine off |
会使整个目录不解析php的,我们可以尝试上传一下.htaccess文件。这里修改的配置和之前不大一样。
1 | <FilesMatch .htaccess> |
成功解析一句话木马。
补充一下htaccess一些用法:
SetHandler和ForceType
1 | ForceType application/x-httpd-php |
这里将.htaccess文件解析成php,
直接用蚁剑读取flag不行,需要绕过disable_funtions,最后试了很多才读取到flag
1 | hhh=var_dump(file_get_contents('/flag')); |
由于 <Files>标签优先级高于<Directory>,所以可以上传:
1 | <Files "*.gif"> |
这样之后上传的gif后缀的文件都可以被当作php解析。
参考:
https://blog.csdn.net/weixin_45669205/article/details/117047432
[b01lers2020]Space Noodles
先准备一些预备知识,学习一些比较少见的HTTP请求方式。
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
9 | PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |
题目一开始不允许get请求,修改成post请求。出现五个路由,后面逐个测试出结果。
1 | 1. OPTIONS /circle/one/ |
然后获得相应信息拼接成flag。
flag{ketchup_on_noodles_tastes_good_in_space_too}
也可以使用curl命令下载相应的文件。
1 | curl -X OPTIONS http://4237f0d0-c0ed-443f-a18a-9273705914f5.node4.buuoj.cn:81/circle/one/ --output hhh.pdf |
参考: