SCTF-WriteUp

PT100


看到题面提示说 flag 在后台

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

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

[cce]http://www.freebuf.com/articles/4908.html
[/cce]

注意到最后有这么一段

以下部分为其他报道较少提及的。

还是这个短文件/文件夹名暴露漏洞, 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

一开始尝试

[cce]/admin::$Index_Allocation/.htpasswd
[/cce]

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

[cce]/admin::$Index_Allocation/index.php
[/cce]

得到一个登陆点,尝试

[cce]id=001′ return : WTF
[/cce]

但是

[cce]id=0001′ return : login failed
[/cce]

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

[cce]’|1#
[/cce]

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

Get Flag。。。

PT200


看了下 source code 发现有个

[cce]index.php?name=xss
[/cce]

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

比如

[cce]on|script|img
[/cce]

等等

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

[cce]