第五届强网拟态防御国际精英挑战赛初赛 Write Up

admin 2022年11月7日11:44:13评论185 views字数 805阅读2分41秒阅读模式

本文来自:天权信安网络安全生态圈   

作者:天权Megrez

Pwn1

第五届强网拟态防御国际精英挑战赛初赛 Write Up

Pwn2-1

给了elf基址,create堆块的时候会malloc一个8字节的chunk

保存一个print指针

直接创建两个堆块然后释放,再创建一个8字节的大小的堆块

打print指针到magic,然后调用show即可打印flag

第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up

Pwn1-1

格式化字符串漏洞

泄露栈地址和栈上保存的实际基地址

然后打printf_got为system_plt即可

第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up

web_mimic

NTML解密出来123,秘钥,des解密秘钥123得到路径random可知,path=xxx的·xxx可知,填入,得到flag

第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up

Pwn-bfbf

第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up
第五届强网拟态防御国际精英挑战赛初赛 Write Up

RE-Comeongo

第五届强网拟态防御国际精英挑战赛初赛 Write Up

Check1函数看一看到经过Encoding函数后和这个进行比较。解base58可以的到GoM0bi13G3tItEzF_NubcfFq经过调试发现check1函数是将name的前八位和pass的前八位拼接然后进行base58编码。

所以name的前八位是GoM0bi13

Pass的前八位是G3tItEzF

第五届强网拟态防御国际精英挑战赛初赛 Write Up

Check2中encryptBytes函数是进行base64编码X051YmNmRnE=解得_NubcfFq

调试发现这是name和passwd得9-12位拼接得到的

第五届强网拟态防御国际精英挑战赛初赛 Write Up

main_runtime_r1函数对字母进行了-12的操作。所以得到

name:GoM0bi13_Bin

passwd: G3tItEzForRe

接下来依然进行调试

我们输入GoM0bi13_Binabab

G3tItEzForRecdcd

第五届强网拟态防御国际精英挑战赛初赛 Write Up

输入的测试数据由cdcd变成了vGcd

第五届强网拟态防御国际精英挑战赛初赛 Write Up

encryptBytes函数和main_runtime_other

第五届强网拟态防御国际精英挑战赛初赛 Write Up

这两个条件得到后四位

最后得到

Name:

GoM0bi13_BingGo@

Passwd:G3tItEzForRevG0!

第五届强网拟态防御国际精英挑战赛初赛 Write Up







微信公众号|天权信安

原文始发于微信公众号(天权信安):第五届“强网”拟态防御国际精英挑战赛初赛 Write Up

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月7日11:44:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   第五届强网拟态防御国际精英挑战赛初赛 Write Uphttp://cn-sec.com/archives/1395094.html

发表评论

匿名网友 填写信息