![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ctf题解
The Theory OF God
这个作者很懒,什么都没留下…
展开
-
某ctf靶场的write up
最近打的ctf靶场的题解,希望对各位有所帮助。原创 2024-04-05 19:48:59 · 318 阅读 · 1 评论 -
fileclde解题流程
data://伪协议,是数据流封装器,和php://相似,都是利用了流的概念,将原本的include的文件流重定向到了用户可控制的输入流中,简单来说就是执行文件的包含方法包含了你的输入流,通过包含你输入的payload来实现目的。上面是对应源码的解读,对于file1,需要使用伪协议php://filter/read=convert.base64-encode/resource=来获取到flag文件的源码。输入,就可以得到base64加密过的flag了。解密就可以得到真正的flag。原创 2024-02-04 16:07:02 · 770 阅读 · 1 评论 -
fileinclude解题流程
convert.base64-encode/convert.base64-decode是转换过滤器属于read的参数,相当于base64_encode()和 base64_decode(),作用是base64 编码解码。可以看到包中不含有cookie,这就需要我们自己设置cookie值。所以,要想得到flag就需要找到flag.php文件,也就是满足第二个判定条件,而这里存在文件包含漏洞。这一串就是经过base64编码过的flag,复制下来到decoder模块进行解密就能得到flag了。原创 2024-02-04 14:59:50 · 534 阅读 · 1 评论 -
simple_php题解流程
下面就是$b的判断条件,要求b不能是一个数字,且b要大于1234,由于php的弱类型转化,这里需要在前面有一段数字大于1234,并在这段数字后面拼接字符来确保b不会被is_numeric()函数判定为数字,这样就有了b的值12345a。需要GET形式提交变量a,要求$a==0 and $a,这里使用==符号用到了php的弱类型相等,即弱比较只要求比较的两个值在转换类型后相等即可。而强类型相等符合===:强比较要求比较的两个值不仅是值相等,而且类型也必须相等。这里flag被拆成了两段,先看第一段。原创 2024-02-03 14:52:57 · 648 阅读 · 1 评论 -
cookie解题流程
本题与http报文中的cookie有关,cookie实际上是一些数据信息以键值对(name-value)的形式出现,类似于:name=bob。存储于电脑的文本文件中。进入网站,它问我们什么是cookie,根据上文的解释你应该知道了----cookie存在于http报文中。进入cookie.php,它提示我们查看http的响应报文,进入网络界面查看响应头,flag就在里面。按F12,进入检测模式的网络界面,点击第一个报文,往下翻找到cookie。这里cookie值提示我们去cookie.php看看。原创 2024-02-03 13:52:33 · 467 阅读 · 1 评论 -
backup题解流程
php的备份文件名一般有两种,一个是.php~,另一个是.php.bak。在index.php后面加上.bak,就会下载一个备份文件。进入题目,题目问题是index.php的备份文件名是什么。而网站常见的备份文件后缀名有:“.git” 、“.打开备份文件并查看源码,flag就在里面。这是一个有关php备份文件的题目。原创 2024-02-03 13:34:05 · 323 阅读 · 1 评论 -
unserialize3题解流程
反序列化又叫对象注入,序列化在内部没有漏洞,漏洞产生是应该程序在处理对象、魔术函数以及序列化 相关的问题导致的 当传给 unserialize()的参数可控时,那么用户就可以注入 payload,进行反序列化的时 候就可能触发对象中的一些魔术方法。序列化:对象的状态信息转换为可以存储或传输的形式的过程 在序列化期间,对象将当前的状态写入到临时 或持久性的存储区,将状态信息保存为字符串。这个代码可以得到一个名为a的xctf对象,对这个对象进行序列化输出,得到它的值。反序列化:将序列化后的字符串还原成对象。原创 2024-02-02 20:49:53 · 1037 阅读 · 0 评论 -
ISC-06题解流程
它已经自动设置id的参数为变量了,我们只用设置一下爆破的数量。里面长这样,看到网站url里面有关GET提交的id,抓个包。这个网站里面只有一个报表中心可以点进去。原创 2024-02-02 18:47:01 · 324 阅读 · 0 评论 -
sqli-Lesson32 宽字节注入题解
GB2312是被GBK兼容的,它的高位范围是0xA1-0xF7,低位范围是0xA1-0xFE(0x5C不在该范围内),因此不能使用编码吃掉%5c。宽字节注入是利用mysql的一个特性,mysql在使用GBK编码(GBK就是常说的宽字节之一,实际上只有两字节)的时候,会认为两个字符是一个汉字(前一个ascii码要大于128,才到汉字的范围)若是改成1%df%5c,在sql进行gbk编码的时候会将%df和%5c作为一个宽字节进行解码,就会变成汉字“如果一个字符的大小是两个字节的,成为宽字节。原创 2024-01-12 23:31:28 · 1066 阅读 · 1 评论 -
PHP2 解题流程
很可惜不行,浏览器在传输的时候就会对传入的变量进行url加密,admin只加密一次的话(加密成这样%61%64%6d%69%6e)到服务器里会被还原成admin,也就是get到的id还是admin的明文,所以这里要加密两次变成这样->%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65。进去之后,里面还是这句话,但是网站是不一样的,应该有隐藏的信息,查看一下源码。进入phps页面,phps是php页面的源码,里面有这个网站的源码信息。进入题目网站,看看具体要求。原创 2024-01-12 15:20:53 · 390 阅读 · 1 评论