CTF(Capture The Flag)是一种网络安全技能竞赛,它涉及到多个领域,如密码学、逆向工程、漏洞利用、Web安全等。 每个比赛都会有多个题目,每个题目都有一个旗帜,玩家需要通过解决问题、攻击漏洞或破解密码等手段,获取旗帜并提交给比赛平台。 旗帜是一个特定的字符串或码,通常是一个MD5或SHA1散列值。
了解不同类型的CTF挑战,例如逆向工程、密码学、Web安全等。 理解它们的特点以及要求的技能和知识。
在本文章内我会给大家简单讲述一下ctf的矛盾这个题。
首先当我们阅读完php代码后发现代码貌似出了点问题,比如第一行,给num变量输入一个值,第二行判断这个num是否为数字,当这个num不是数字时,返回这个东西,当他等于1的时候,返回真正的flag。
这里简单讲一下PHP的一个特性:
对1加一个字符,如“1a”、“1-”,判断该整体是否等于1时,判别式值为True
如“1s==1”,其值会是True
总之后面这个东西要是1,我们也能够构造运算式子,总之能让他等于1,且不是单纯的数字就行
由此我们可以给num任意一个“1+字符”的值
如图给了num等于1b,它就给出了flag:
首先get一个num 在上方网址上输入num==xxx,然后flag就显示出来了。