CTF_BUGKU_WEB_game1

这篇具有很好参考价值的文章主要介绍了CTF_BUGKU_WEB_game1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记录学习CTF的过程中,在BUGKU平台上的一道WEB题

1、题目:《game1》

2、答案(flag):flag{2d591388f46f67cadd1e9e2cb5b439dc}

3、分析:

首先启动bugku提供的环境
CTF_BUGKU_WEB_game1
是一道小游戏题目,先打开F12,玩一次。
CTF_BUGKU_WEB_game1
果然靠真玩无法通关,可以查看控制台Network上提交成绩请求的数据流被服务器返回“失败了”。
PS:在此会想到之前做过的一道c/s客户端小游戏的题目,解题方法是在玩游戏后生成的存档文件中更改关卡数,再读取进度就能直接到最后一关。
由于是WEB线上游戏,不存在存档文件。
于是想到用BurpSuite抓包,查看到在游戏死亡时会提交一个get请求。
CTF_BUGKU_WEB_game1
GET请求的参数是写在明文上的,根据以往的经验,把score改成999999(尝试尽量大)。
PS:客户终端机先将GET/POST请求发送至浏览器上配置的代理服务器上,再由代理服务器将请求上大网至服务器,反之相同。而BurpSuite在代理服务器这里可将交互请求逐条拦截,即可修改请求内容,如上图所示即为“游戏结束时发送给服务器的请求内容。”
发送后发现还是失败了。
CTF_BUGKU_WEB_game1
然后就蒙了,这还能怎么办。
于是参考同僚的WP,也就是该题关键点:GET传参除了score分数以外,还有一个参数sign!
看到“sign=zMMjU===”知道是Base64编码过,放到CyberChef中解码出来并不是一个整型分数。
这时要考虑是不是经过1.多重加密或者2.在加密后字符串左右两边由加上了固定字符
于是我先尝试另玩一次得到一个不同的分数再查看sign,发现是不管分数多少,密文格式都是zM***==,所以 密文= “zM + Base64(score) + ==”,故到CyberChef中得到Base64(score=999999)即可。


这里已经知道sign怎么写了,可我在想如果遇到其他加密方式或者多重加密怎么办,于是有了另一种比较踏实的方法:去浏览器控制台中查看这个sign是怎样将score加密的(因为是在GET请求里就已经生成密文了,所以加密方式一定是写在了前端js里)
CTF_BUGKU_WEB_game1
PS:想要查看WEB前端源码,F12打开控制台,点Element此处为当前页面源码。基本上都是看js(<script>),所以可以大致翻看下,或者直接搜索关键词”
看到 var sign = Base64.encode(score.toString()); 然后就直接使用了。

我们可以在Console中编写执行javaScript脚本(1.自行编写并执行当前页面js语句。2.甚至更改当前页面js函数内容)!这里我们可手动更改score能得到Base64.encode(score.toString())的输出值。
CTF_BUGKU_WEB_game1
至此,我们将的到得“原汁原味纯正经过js处理过的sign”密文放在BurpSuite抓的请求包中Forward
CTF_BUGKU_WEB_game1
在控制台Network中最下方的服务器回应中能看到其为我们返回了flag。
CTF_BUGKU_WEB_game1
或者在BurpSuite中将GET请求发送至Repeater(因为这里可以直接看到Request的Response,亦可重复发送请求),Go后得到flag。
CTF_BUGKU_WEB_game1


总结
1.遇到小游戏题目,一般是要通关。若是c/s考虑修改存档文件直接通关,b/s用BurpSuite抓包修改提交到服务器的分数。
2.广泛思考是否有需要修改的其他校验参数(score+sign,而不止score)。对于该题而言,除了关键参数score,也要多去寻找查看有没有类似于sign这样的校验参。
3.浏览器自带控制台可以自行编写js,并在当前页面下执行。(1.获取函数值。2.修改函数内容)
4.想要查看响应内容。1.可在浏览器Network可以查看请求与响应。2.可以在BurpSuite中用Repeater方便地查看响应。

记录本人入门CTF的过程,如有问题请多指正。文章来源地址https://www.toymoban.com/news/detail-452826.html

到了这里,关于CTF_BUGKU_WEB_game1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Bugku---web---source

    1.题目描述 2.点开链接,查看源码,发现了一个长得很像flag的flag,拿去base64解码,发现不是flag 3.没办法只能在kali里面扫描一下目录 4.发现是.git源码泄露,在浏览器尝试访问 /.git ,发现点开文件并不能看到源码 5.在kali中利用 wget -r url 命令下载源码 6.下载完成后, ls 查看下载

    2024年03月12日
    浏览(14)
  • BUGKU-WEB bp

    题目截图如下: 进入场景看看: 提示说:弱密码top1000?z???(爆破?) 先看看源码有没有提示 Burp Suit 爆破 top1000字典,点击下载 随便测试账号密码admin、admin 得到提示:Wrong account or password! 2. 查看源码发现js限制 粗略的解读一下: if语句中: 使用js的键值对进行判断,当code的值

    2024年02月20日
    浏览(10)
  • bugku-web-文件包含2

    页面源码 看到了第一行有一个注释 提示是这个文件,访问这个文件 来到一个上传页面 上传一个脚本,将图片后缀改为php 被发现了 jpg,png,gif,jpeg 仅支持这四种格式 测试后后台为linux系统 这里试探结束,开始配合文件包含漏洞,上传图片 上传成功,文件包含后发现 这里对?ph

    2024年04月18日
    浏览(19)
  • bugku-web-留言板

     留言板?第一反应就是XSS 或者跨站脚本攻击  确定为XSS   (说点什么)“说”了就会记录下来    简单测试下  利用工具跑一下这个网页  (dirsearch) 得到了登录页  admin.php  需要用户名和口令   在我们跑出的另一个文件里  db.sql  (db.sql建议多pao几次  还可进行burp s

    2024年02月12日
    浏览(11)
  • BUGKU-WEB 留言板1

    题目截图如下: 进入场景看看: 之间写过一题类似的,所以这题应该是有什么不同的 那就按照之前的思路进行测试试试 提示说:需要xss平台接收flag,这个和之前说的提示一样 xss平台:https://xssaq.com 对xss的一些绕过进行学习了解 输入测试一下script代码: 发现script被过滤了

    2024年02月21日
    浏览(13)
  • CTF-Crypto学习记录-第四天 “ “ --- SHA1安全散列算法,实现原理。

    MD5学习MD5加密算法 SHA-1(Secure Hash Algorithm1,安全散列算法1)是一种密码散列函数。 SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。 SHA-1的历史: 2005年,密码分析人员发现了对SHA-1的有效攻击方法,这表明该算法可能不够

    2024年02月07日
    浏览(13)
  • GAMES101:作业7记录

    在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且用 BVH等加速结构对于求交过程进行了加速。在本次实验中,我们将在上一次实验的基础上实现完整的 Path Tracing 算法。至此,我们已经来到了光线追踪版块的最后一节内容。 请认真阅读本文档,按照本文档指示的流程完成

    2024年02月01日
    浏览(12)
  • 【web-ctf】ctf_BUUCTF_web(2)

    1. [RCTF2015]EasySQL 考点: 二次注入 报错注入 正则表达式查找 reverse函数 学到的知识点: 二次注入原理 二次注入的标志: (1)可以自行注册用户 (这是为了注册一些特殊的用户名到数据库中(比如会导致之后报错、修改其他用户的密码等)) (2)可以使用修改密码等 (二

    2024年02月06日
    浏览(16)
  • Web学习记录---CSS(2)

    目录 一、CSS的复合选择器 1.1 什么是复合选择器 1.2 后代选择器 1.3 子选择器 1.4 并集选择器 1.5 伪类选择器 1.5.1 链接伪类选择器 1.6 :focus伪类选择器 1.7 复合选择器总结 二、 CSS的元素显示模式 2.1 什么是元素显示模式 2.2 块元素 2.3 行内元素  2.4 行内块元素 2.5 元素显示模式总

    2024年04月10日
    浏览(10)
  • [CTF]2022美团CTF WEB WP

    最终排名 源码 由上源码可知想要造成pickle反序列化需要两步: 1.得到secret_key 2.绕过黑名单造成pickle反序列化漏洞 那么先来实现第一步: app.config[‘SECRET_KEY’] = os.urandom(2).hex() #设置key为随机打乱的4位数字字母组合例如a8c3 从这里知道,想要爆破key其实并不难,可以自己试试 那

    2024年02月06日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包