栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

攻防世界-Web-新手-simple

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

攻防世界-Web-新手-simple

【题目描述】

小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )

【附件】

在线场景

【过程及思路】

打开在线场景后弹出输入框:

尝试输入了几次后,发现都是这个结果。

老样子,先查看网页源码。

经过代码审计,发现很坑的一件事:输入到输入框的内容经过js的函数window.prompt来保存到变量h中,之后网页直接将h经过dechiffre()这个函数一顿操作,然后把一个不知道什么东西返回并弹出,最后弹出的显然是上面图中的那个结果,中间并未进行任何验证。

也就是说,无论你输入什么都不会得到哪怕一丝有用的结果。

进一步说,本题的解法根本不是输入一个正确的密码然后得到flag。

这可怎么办?

注意到有一行很长的代码,里面有一些x,表示的16进制的数。

我们将它还原一下..

转换代码(Python):

code = "x35x35x2cx35x36x2cx35x34x2cx37x39x2cx31x31x35x2cx36x39x2cx31x31x34x2cx31x31x36x2cx31x30x37x2cx34x39x2cx35x30"

strlist = code.split(',');

ans = ""

# print(strlist)

for asc in strlist:

    s = chr(int(asc))

    ans += s

print(ans)

得到:786OsErtk12

这个看起来像是flag了,拼入题目格式中,答案正确。

本题通过js代码审计、ascii编码还原,绕过假的、不可达的密码路径,从源码中得到我们想要得到的信息。

同时,也给我们一种新的思路:答案并不一定在看起来正常的走法上,可能需要你绕到背后。

【答案】

 Cyberpeace{786OsErtk12}

如果文章对你有帮助,就动动手指点赞、喜欢、支持一下咖啡猫吧,谢谢!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317748.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号