您的位置:首页 > 其它

中级CTF:GetFlag writeup

2018-01-19 19:09 417 查看
CTF:http://106.75.26.211:2222

提示信息:GetFlag

1.访问页面



2.发现只有一个login有用,点击Login来到一个登录页面



这里的验证码构造,把验证码进行MD5加密然后截取前6位与后面的数字进行匹配,相等时就是验证码(后面的数字每次刷新页面是会变的,要多注意)

3.构造python脚本,进行验证码的获取,代码如下:

import hashlib

def md5(data):

    m = hashlib.md5()

    m.update(data)

    a = m.hexdigest()

    return a

 

b = 'abcdefghijklmnopqrstuvwxyz1234567890'

for i in b:

    for j in b:

        for k in b:

            for l in b:

                for m in b:

                    if md5(i+j+k+l+m)[0:6]=='9494':   #这里填写页面刷新出来的值

                        print i+j+k+l+m

4.运行脚本,获取验证码



5.验证码获取了,但是账号密码我们还没有啊,小编这里尝试使用了一个万能密码登录,账号admin' or 'a'='a 密码随便输


成功登录

6.来到了一个新的页面,发现3个文件



7.这时候点击了下查看源代码,看到了这3个文件的路径



8.进行访问发现了重要提示信息



提示说flag在网站目录下,而且看到url是一个很可能存在文件包含的地方

9.骚操作来了,这里他说是在网站目录下,我们首先要判断是什么系统啊,把download改成Download(liunx是严格区分大小写的,而windows不区分的,这里就这样进行判断),发现报错了,说明是liunx的系统



10.相信大家都知道liunx的网站目录结构吧,var/www/html/,那我们就看能不能通过远程包含访问到flag.php


是真的皮,居然还没完

11.下载后进行代码审计



12.通过观察下载的这个文件名_var_www_html_flag.php这里是以路径拼接文件名的形式构造的,所以是有这个文件的,通过url进行访问,并且通过POST传入flag=flag;



13.页面是空白的,通过访问源代码,flag终于出来了



感谢各位大佬赏脸,有什么不足的地方请多多指教,谢谢!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: