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. Sql练习201908200916

    表结构: 一条sql修改多条数据(Sql server),oracle,mysql请自行尝试: ; go 完成.

  2. 【linux】【tomcat】linux下定时重启tomcat 【CentOS 6.4】【CentOS 7.6】

    本章内容以CentOS 6.4   和   CentOS  7.6  两个版本为例.[6和7的命令不同] 转载 :https://www.cnblogs.com/sxdcgaq8080/p/10730 ...

  3. 1030 Travel Plan (30分)(dijkstra 具有多种决定因素)

    A traveler's map gives the distances between cities along the highways, together with the cost of ea ...

  4. Socket探索1-两种Socket服务端实现

    介绍 一次简单的Socket探索之旅,分别对Socket服务端的两种方式进行了测试和解析. CommonSocket 代码实现 实现一个简单的Socket服务,基本功能就是接收消息然后加上结束消息时间 ...

  5. Vulnhub DC-9靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.147 #扫描端口等信息 22端口过滤,80端口开放,同样的从80端口入手. 不是现成 ...

  6. Eclipse(Eclipse for android)代码自动提示设置

    java代码和xml资源代码在有的eclipse中可以自己提示,但有的并不支持这个功能,还得我们人为去调整,主要原因是因为你们下载的elipse的渠道不同,获得的版本有的官方原版,有的是个人备份版等等 ...

  7. Flask 入门(六)

    连接数据库 任何一门后端语言都可以连接数据库,python-flask也不例外 flask利用SQLAlchemy ORM连接数据库 接下来,我门来练习如何连接数据库: 1.首先,电脑上得有mysql ...

  8. 基础类封装-pymysql库操作mysql封装

    import pymysql from lib.logger import logger from warnings import filterwarnings filterwarnings(&quo ...

  9. 通过powershell查询OU中被禁用的AD账号,并删除他们的所属组

    这个需求可以通过两个方向来实现1.找到禁用的账号,删除除domain users外的所有组,脚本内容如下 #导入AD模块import-module ActiveDirectory #被禁用户$user ...

  10. .net批量更新(插入、修改、删除)数据库

    思路: 1. 设置DataTable中每行的状态标识,即调用DataRow的方法setAdded().setModified().Delete() 2. 使用DataAdapter的Update(Da ...