0335-SCTF-WriteUp

# SCTF-WriteUp

PT100
=====

* * *

看到题面提示说 flag 在后台

输入 /admin/ 看到一个 HTTP Basic Authentication

既然是CTF肯定不可能是跑密码了,所以考虑其他情况。观察可知主页跑的是 PHP 。但是看 HTTP 头却是 IIS 。所以考虑是不是 短文件名之类的。搜索可得

“`
http://www.freebuf.com/articles/4908.html

“`

注意到最后有这么一段

> ### 以下部分为其他报道较少提及的。
>
> 还是这个短文件/文件夹名暴露漏洞, acunetix 研究指出当 Apache 运行在 windows 下,如果创建了一个长文件,那么无需猜解长文件,直接用短文件就可以下载了。例如一个 backup-082119f75623eb7abd7bf357698ff66c.sql 的长文件,其短文件是 BACKUP~1.SQL ,攻击者只需要提交 BACKUP~1.SQL 就可以直接访问该文件。原文
>
> http://www.acunetix.com/blog/web-security-zone/articles/windows-short-8-3-filenames-web-security-problem/
>
> 另外,Soroush Dalilide研究中还提到可以绕过Basic and Windows认证,猜解认证目录下的文件。以下是II5.0绕过认证的方法:详细可见原文研究
>
> http://soroush.secproject.com/blog/2010/07/iis5-1-directory-authentication-bypass-by-using-i30index_allocation/
>
> “/AuthNeeded:$i30:$INDEX_ALLOCATION/secretfile.asp”
>
> Instead of:
>
> “/AuthNeeded/secretfile.asp”
>
> 但是并不是所有版本的IIS都能够绕过认证。应该是在可绕过的前提下猜解,形式如下:
>
> /AuthNeeded::$Index_Allocation/_~1_/.aspx
>
> 或者
>
> /AuthNeeded:$I30:$Index_Allocation/_~1_/.aspx

一开始尝试

“`
/admin::$Index_Allocation/.htpasswd

“`

多次,未果。后来想这个是 IIS 可以在 IIS 那边设置,遂访问

“`
/admin::$Index_Allocation/index.php

“`

得到一个登陆点,尝试

“`
id=001′ return : WTF

“`

但是

“`
id=0001′ return : login failed

“`

可以大概猜测出,这个只能输入四个字节,且应该是个注入,四个字节注入想到 alictf 的 web100 将 or 转成 || 。尝试

“`
‘|1#

“`

发现不行。。。后来纠结了很久,重新看了一遍自己输入的。。考虑了下,随手将 1 改成 0 。

Get Flag。。。

PT200
=====

* * *

看了下 source code 发现有个

“`
index.php?name=xss

“`

然后在右上角有个链接可以提交语句,简单来看就是一个 xss 。然后试验了几个关键词,发现都过滤了。

比如

“`
on|script|img

“`

等等

然后想要不先打后台吧,测试发现

“`