wubba lubba dub dub.
post @ 2023-09-05

题目来源:2023MOECTF

题目简述


满足题目的5点要求即可得到flag

使用Postman

要满足这些要求,有一个十分好用的工具叫postman,它是一个浏览器插件,也有exe的版本,这里我选用了exe版本的postman

使用post请求

直接修改postman的设置,如图:

满足use parameter: UwU=u

在postman的params一栏里设置,也可以直接在网站后面加:

满足post form: Luv=u

Read More
post @ 2023-09-01

设计思路

灵感来源于watch dogs里面的黑客无人机,以树莓派+pixhawk为主体,搭载大疆F450机架,配以2000毫安锂电池,可以凭借pixhawk出色的飞控能力,以及树莓派优秀的运算能力,在空中完成近源渗透,人脸识别,数据转发(星链),无人机送货等多项功能。


注意:建议先给pixhawk和树莓派刷入固件,调试好各项参数(根据情况可以无线调试,建议先调试完可以无线调试的项目),再组装飞机(gps,电机电调调试必须先组装好飞机),不一定要按照文章顺序来做


材料准备

大概要这些

F450机架(动力套装)

如果懂得焊接可以更自由的购买电机电调来组装,不懂焊接的建议直接咸鱼(淘宝上很少或者没有组装好的)买F450的动力套装,因为动力套装插上飞控就可以操作,不需焊接,购买前请注意是否真的不需要焊接。

减震板

Read More

题目来源:2023MOECTF

题目简述

题目给出了一个网站,点击左侧相应的汽车名字就会出现相应的图片和数据。一看没什么问题,那么我们就上burp,给浏览器设置代理,访问192.168.1.101,为什么不是127.0.0.1呢?因为访问这个回环地址burp抓不到包,原因未知但可以使用就好了。

观察发现,当我们点击左侧汽车名字的时候,实际上我们是post了相应的请求,抓包修改相应位置的汽车名后发现会跳转到不同的汽车页面。思路这就来了:如果我们post一些其他的东西上去,是否会有突破口?

尝试突破

首先,我先post了一个不存在的汽车名称:

Read More
post @ 2023-08-27

题目来源:2023MOECTF

题目简述




大概是要我们输入一个叫fd的东西来读取文件,也就是只要我们输入正确的fd就可以得到flag,那什么是fd呢?

FD,即“文件描述符”,以下是摘录于知乎的简述:

fd是什么?

fd是File descriptor的缩写,中文名叫做:文件描述符。文件描述符是一个非负整数,本质上是一个索引值(这句话非常重要)。

什么时候拿到的fd?

当打开一个文件时,内核向进程返回一个文件描述符( open 系统调用得到 ),后续 readwrite 这个文件时,则只需要用这个文件描述符来标识该文件,将其作为参数传入 readwrite

fd 的值范围是什么?

在 POSIX 语义中,0,1,2 这三个 fd 值已经被赋予特殊含义,分别是标准输入( STDIN_FILENO ),标准输出( STDOUT_FILENO ),标准错误( STDERR_FILENO )。

Read More
post @ 2023-08-26

题目来源:2023MOECTF

题目概述



大概就是要我们写一个程序来和这个二进制程序交互,还要使用到pwntools这个工具。

安装pwntools

上网搜索了一下,pwntools是python的一个库,支持python3 使用pip安装:

apt-get update
apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip #升级pip,可以不执行 
python3 -m pip install --upgrade pwntools #可能会升级pip,而且使用国外源,比较慢
python3 -m pip install pwntools -i https://pypi.tuna.tsinghua.edu.cn/simple/ #使用国内源,不更新pip,建议使用这条

使用pwntools

稍微了解了一下pwntools的用法,基本够用:

send(data) #发送数据
sendline(data) #发送一行数据,相当于在末尾加\n      
recv(numb=4096, timeout=default)  #给出接收字节数,timeout指定超时
recvuntil("hello,world\n", drop=False) #接收直到我们设置的标志出现
#(以下可以看作until的特例)
recvline(keepends=True) #接收到\n,keepends指定保留\n
recvall() #接收到EOF
recvrepeat(timeout=default) #接收到EOF或timeout
interactive() #与shell交互

编写POC

Read More
⬆︎TOP