当前位置: 代码迷 >> 综合 >> 攻防世界_Crypto_flag in your hand
  详细解决方案

攻防世界_Crypto_flag in your hand

热度:74   发布时间:2023-12-27 10:10:29.0

攻防世界刷题记录Crypto篇


文章目录

  • 攻防世界刷题记录Crypto篇
  • 前言
  • 解题过程
    • 1.查看网页源码
    • 2.从js脚本中找到相关代码
    • 3.借助Python得到所需字符串


前言

没想到一来到高手进阶区就是知识盲区,流下了没技术的泪水。这道题的附件中有两个文件,一个是html网页一个是js脚本,看着就不简单的样子。


解题过程

1.查看网页源码

打开html后页面如下,要输入token的内容然后提交。如果直接点击“Get flag!”按钮或随便输入一串东西再提交都是会提示wrong的,那就先去看一下能否从源码中得到一些信息。从源码得知,需要ic的值为true才可以拿到flag。那就再去js文件里看看吧。
html界面
网页源码

2.从js脚本中找到相关代码

从js代码里找到和ic相关的内容,分析代码内容可知,需要让输入的字符串中每个字符对应的ASCII码和a中的数字相差3,所以让a中每个数字减去3再转换成字符就可以得到能让ic输出为true的字符串了。
js相关代码

3.借助Python得到所需字符串

简单写几行Python代码就可以了:
借助Python得到正确的token
所以能让我们拿到flag的token的内容就是security-xbu
回到html网页在token输入框输入security-xbu,再点击“Get flag!”按钮即可拿到flag:
拿到flag

  相关解决方案