第一次尝试CTF_bugku-江湖魔头

有喜欢打CTF的朋友可以带我一个qq 885330217  .
  这里分享一个比较有意思的CTF题目。
  这里附上链接:http://123.206.31.85:1616/
  “进入游戏”后看到了一张个人感觉画风很不错的江湖英雄人物,随手还搜索了一下:
第一次尝试CTF_bugku-江湖魔头_第1张图片
在右侧我看到了我当前游戏人物的属性值列表:
第一次尝试CTF_bugku-江湖魔头_第2张图片
习惯性的view-source,确定,view-source
第一次尝试CTF_bugku-江湖魔头_第3张图片
第一次尝试CTF_bugku-江湖魔头_第4张图片
  没有发现什么可疑的地方,内容很简单,挨个点了一下发现我还没有能力“讨伐”魔头,根据提示我知道有一招如来神掌可以制服魔头,但这个时候问题来了。
  作为一个有梦想的穷逼侠客,兜里却没有一分钱,不得不面对的事实。买不起秘籍只好去打工赚钱,我天!这个“赚钱”速度太慢了,100金币/5s钟的速度赚钱,还有一个途径就是“苦修”,也非常的耗费时间。
  于是乎,作为一个有“想法”的侠客打算去别的地方找一找线索,例如“悬崖”和比较有特点的”老头“什么的,哈哈…
  去掉whulin.php后面的参数
第一次尝试CTF_bugku-江湖魔头_第5张图片
  这个地方就比较可疑了,整个HTML代码表面上看并没有给我什么灵感,我决定到里边看一看,可以看到还有三个js的外部链接文件,script.js/md5.js/base64.js,
我首先选择了这里看起来没有任何意义的script.js文件:
在这里插入图片描述
  你个糟老头子坏得很,这让本大侠怎么看!但直觉以及那个明显的"flag"告诉我这里有阴谋.
  我的直觉可能是对的,整理格式化这段js代码后果然有了发现:
第一次尝试CTF_bugku-江湖魔头_第6张图片
一瞬间的感觉这里就是突破点
尝试在浏览器控制台执行此函数,弹出经过md5加密的字符串,尝试提交并未成功。
从代码中可以看到这里使用了cookie中的user的值,之后继续到控制台测试这个cookie:
第一次尝试CTF_bugku-江湖魔头_第7张图片
  最后解出来的cookie值中包含了我想看到的内容,那么就…大致流程:解cookie–>修改"money"–>封装–>设置cookie值–>有钱人–>去商店–>学技能–>打怪…
  想法很美好,但现实是残酷的,当我满心欢喜的把我自己”签的支票“交给浏览器管理之后来到商店,…等等,我的钱哪去了,有人偷走了我的钱…
  回头看一看,问题一定出在了中间某个环节
  偷我钱的贼被我发现了:
第一次尝试CTF_bugku-江湖魔头_第8张图片
  修改之后的数据经过几轮加密之后已经跟最开始的样子很不一样了,这是不太正常的。问题就出在了中间的encode_create函数中的base64加解码上。
  查看另外一个外部链接js文件base64.js
第一次尝试CTF_bugku-江湖魔头_第9张图片
解码中有一行被注释掉了,这个时候我们只要想办法让加密过程中对应的
input = _utf8_encode(input);这一行不生效或不执行。问题一下子明了了,开心
通过document.cookie进行设置,然后去商店学技能,最后去找老魔决战:
第一次尝试CTF_bugku-江湖魔头_第10张图片

你可能感兴趣的:(CTF_WEB)