CTF实验吧-WEB专题-3

1.安女神之名

CTF实验吧-WEB专题-3_第1张图片

题解

通过题目我们知道,要输入安女神,发现直接输入安女神会报英文,然后就恢复到原页面了,删除cookies后才能看到最开始的原界面,然后就是各种编码了,使用了XEESS来处理,发现可以显示安女神但是得不到flag,基本可以确定是另外一种编码,然后用unicode编码,就可以成功了,成功得到flag.


2.思路很重要

CTF实验吧-WEB专题-3_第2张图片

题解

通过查看源代码,可以发现代码没有删除,所以应该是有备份或者残余代码,一般的格式有两种,一个为.swp,另外一个为.bak,一个个试,当然这个东西有前提,就是你要确定当前显示的页面是什么,通过测试是index.php,然后就是通过.bak得到源代码。
发现源代码中有extract函数,这个函数的作用是将键值构造成变量名和值,也就是如下例子:
[“abc”:1,”ccc”:2];
通过extrace函数后相当于在当前位置加入了$abc=1;$ccc=2;这两个语句,是不是非常6.
接着就是file_get_contents函数,这个函数的参数为数字或者为空或者为不存在的文件时会报错,导致$content值的属性为null,那么我们就只要让$shiyan为null就可以了。

所以参数上写上flag=&shiyan=就可以了,也可以写上flag=77.php&shiyan=(反正他没有这个文件)。其实当flag为空值或者数字的时候,这个函数会报错,但是虽让php即使报错了也会继续往后执行代码,哎,罪啊,就这么得到flag了,当然这个flag有点乱,但是我们还是发现了{,},f,a,l,g,这些字母都在,证明可能用了某种移位加密算法,所以尝试使用凯撒密码处理一下,最后的flag就出来了。


3.Forms

CTF实验吧-WEB专题-3_第3张图片

题解

通过burpsuit抓包,其实也不需要,因为页面源码里面有showsource这个属性,我们将这个值改为1,发现返回中存在源代码。同时PIN的值就出来了,直接用在PIN处,得到flag


4.天网管理系统

CTF实验吧-WEB专题-3_第4张图片

题解

通过查看源代码发现,对方处理username的方式,我们可以针对php的==弱类型来处理,就是传递一个md5加密后结果为0exxxxxxxxxxx,就是科学计数法,然后就可以另外一个网页的地址,进入查看,发现处理password的方式,发现对方是通过序列化来进行处理的,同时序列化中有user和pass值,我们直接写php代码,反向生成后台处理的代码,如下


    $r = array();
    $r['user'] = 0;
    $r['pass'] = 0;
    echo serialize($r);
?>

得到反向处理结果,将之前的admin值加上,得到flag。

你可能感兴趣的:(无尽防御-CTF)