CG-CTF

https://cgctf.nuptsast.com/challenges#Web

  续上~

  第十六题:bypass again

  代码分析:

  当a不等于b,且a和b的md5值相同时,才会返回flag值。

  思路①:同第二题的思路,因为是==比较,只判断值是否相等,不判断类型是否相同。在PHP语言中,如果数据类型不同先转换为相同的类型再进行比较,而PHP在处理哈希字符串时,会把0E(或0e)开头的哈希值解释为0。所以如果两个值通过md5后值都以0E(或0e)开头,其值就会相等;

  构造a=s878926199a,b=s155964671a;

  取得flag(干杯~);

  思路②:同第十五题思路,PHP中md5()函数并不能处理数组数据类型,在遇到数组的时候会返回NULL,其值就会相等。(且这种方法在===比较中也可以适用;

  取得flag(干杯~);

  思路③:MD5本质上是使用哈希算法的一种散列函数,一个MD5理论上是可能对应多个原文的,原理是MD5是有限多个的,而原文是无限多个的;

  此处举个不准确但可以辅助理解的例子:

  1+7=8,但是只拿到8并不能推出1+7,但是我们可以构造2+6,2*4等使其最终的值相等。

  那么我们只要找到两个MD5值相同的原文(MD5散列碰撞),这道题就能解决了。

  第十七题:变量覆盖

  变量覆盖学习:

  https://www.baidu.com/link?url=-6QNTpui6xtGtWZeZ_FckrQRAfkP_VNych7jn9uhkLd9RZCB0XykXyF4CF1uwuMs386GwuzYHA1gIyxvdMJ4n_&wd=&eqid=81b0d711000afa1e000000035ddc96ae

  本题查看source.php;

  只需要使$pass和$password_123的值相同即可,用burp抓包添加password_123参数;

  取得flag(干杯~);

  第十八题:PHP是世界上最好的语言

  题目消失,去网上找到原题:

  代码分析:id的值与hackerDJ不同,而URL解码后的id与hackerDJ相同;

  思路:对hackerDJ进行两次URL加密即可;

  第十九题:伪装者

  分析:源代码啥也没有,只能在本地登录,说明对IP做了限制,那么尝试在HTTP头部中进行修改头部信息以达到伪装成本地登录;

  思路①:增加X-Forwarded-For请求头部,其格式为:X-Forwarded-For: client, proxy1, proxy2;

  然而好像没有达成目的,可能后端验证的不是这个头部;

  

  思路②:client-ip;

  取得flag(干杯~);

  第二十题:Header

  题目消失,上网找了一下原题;

  咳咳,评价刁钻;

  第二十一题:上传绕过

  点击Submit;

  提示仅支持上传jpg,gif,png后缀的文件;

  尝试上传test.jpg文件;

  提示必须上传成后缀名为php的文件;

  上传php文件;

  用burp拦包;

  思路:如果我们上传php文件,第一步就会报错,那么我们需要判断它是如何识别后缀的,可以从返回的包中看到,是根据./uploads目录下的basename来进行识别的,可以尝试进行截断;

  首先在/uploads/后面增加1.php;

  发现basename处变为1.phptest.jpg;尝试用00截断,在1.php后面增加一个空格,然后在Hex下将20改为00;

  取得flag(干杯~);

  未完待续~

CG-CTF(4)的更多相关文章

  1. Cg profiles,如何使用CGC编译Cg语言(转)

    抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 计算机只能理解和执行由0.1序列(电压序列 ...

  2. [DEFCON全球黑客大会] CTF(Capture The Flag)

    copy : https://baike.baidu.com/item/ctf/9548546?fr=aladdin CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的 ...

  3. 解读Unity中的CG编写Shader系列八(镜面反射)

    转自http://www.itnose.net/detail/6117378.html 讨论完漫反射之后,接下来肯定就是镜面反射了 在开始镜面反射shader的coding之前,要扩充一下前面提到的知 ...

  4. 【Unity Shaders】学习笔记——SurfaceShader(二)两个结构体和CG类型

    [Unity Shaders]学习笔记——SurfaceShader(二)两个结构体和CG类型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5596698. ...

  5. CG&Game资源(转)

    cg教程下载: http://cgpeers.com http://cgpersia.com http://bbs.ideasr.com/forum-328-1.html http://bbs.ide ...

  6. (笔记)CTF入门指南

    [考项分类] Web: 网页安全 Crypto: 密码学(凯撒密码等) PWN: 对程序逻辑分析 系统漏洞利用 Misc: 杂项 图片隐写 数据还原 脑洞类 信息安全有关的 Reverse: 逆向工程 ...

  7. 小白的CTF学习之路2——二进制数据基础与运算(上)

    今天的第二更,被我拖到了傍晚,嘿嘿,二进制这方面让本就数学不好的我很头疼,所以研究了一段时间 在学习之前我们先了解几个问题: 32位是几个字节? 01011100对于十进制是多少? 00001111向 ...

  8. CTF竞赛(简介)

    一.解体模式(Jeopardy) 可通过互联网或现场网络参与,解决网络安全技术挑战题目,并以分值和时间排名. 题目主要包括:逆向,漏洞挖掘与利用,web渗透,密码,取证,隐写,安全编程 二.攻防模式( ...

  9. (译)Cg Programming/Unity(Cg编程/Unity)

    最近在学习Unity3d中的shader编程,能找到的中文资料比较少,于是,尝试翻译一下wiki Books上的资料,以方便其他跟我一样的入门学习者.由于是第一次翻译技术资料,经验不足,难免出错,请路 ...

  10. Cg(C for Graphic)语言语义绑定方法(转)

    摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 语义绑定方法 入口函数输入\ 输出数据的 ...

随机推荐

  1. vue3.0+axios 跨域+封装

    封装: 目录结构:src/utils/request.js, 没有就自己建一个 //src/utils/request.jsimport axios from 'axios' import { Mes ...

  2. MiniUi遇到的一个Bug或者说坑,以div里面的内容自适应高度

    页面源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  3. centos替换源

    !/bin/sh 本文原内容来自:https://github.com/judasn/Linux-Tutorial/blob/master/CentOS-Extra-Packages.md 可能额外需 ...

  4. docker安装Elasticsearch7.6集群并设置密码

    docker安装Elasticsearch7.6集群并设置密码 Elasticsearch从6.8开始, 允许免费用户使用X-Pack的安全功能, 以前安装es都是裸奔.接下来记录配置安全认证的方法. ...

  5. A - 你能数的清吗 51Nod - 1770(找规律)

    A - 你能数的清吗 51Nod - 1770(找规律) 演演是个厉害的数学家,他最近又迷上了数字谜.... 他很好奇 xxx...xxx(n个x)*y 的答案中 有多少个z,x,y,z均为位数只有一 ...

  6. reuire代码优化之:r.js

    r.js是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器的文件请求.要使用 ...

  7. 1068 Find More Coins (30分)(dp)

    Eva loves to collect coins from all over the universe, including some other planets like Mars. One d ...

  8. 摩尔投票算法( Boyer-Moore Voting Algorithm)

    一.Majority Element题目介绍:给定一个长度为n的数组的时候,找出其中的主元素,即该元素在数组中出现的次数大于n/2的取整.题目中已经假定所给的数组一定含有元素,且主元素一定存在.一下是 ...

  9. Scratch 怎么打开SB文件怎么打开

    扩展名是.sb( )的文件均可以用匹配版本的scratch或比匹配版本高的scratch打开,列表如下:类型 可打开.sb ···1.4(1.3).sb2 ···2.0.sb3··· 3.0或3.0b ...

  10. mybatis源码配置文件解析之一:解析properties标签

    mybatis作为日常开发的常用ORM框架,在开发中起着很重要的作用,了解其源码对日常的开发有很大的帮助.源码版本为:3-3.4.x,可执行到github进行下载. 从这篇文章开始逐一分析mybati ...