南京邮电大学CTF——WEB

文章目录

      • 1、签到题
      • 2、单身二十年
      • 3、签到2
      • 4、这题不是WEB
      • 5、层层递进
      • 6、单身一百年也没用
      • 7、md5 collision

1、签到题

查看页面源码

2、单身二十年

做过类似的题目,注意观察页面重定向
首先看源码,发现跳转链接是./search_key.php,点击链接后发现跳转的页面地址为./no_key_is_here_forever.php
南京邮电大学CTF——WEB_第1张图片
方法一: 开发者模式,点击network,勾选preserve log,这样可以看到每个网页跳转所经过的步骤;点击search_key.php,response,即可看到flag。
南京邮电大学CTF——WEB_第2张图片
方法二: 使用burp suit抓包
南京邮电大学CTF——WEB_第3张图片
扩展:

  • window.location="/no_key_is_here_forever.php"是用no_key_is_here_forever.php替换完整路径除根目录外的所有目录
  • window.location="./no_key_is_here_forever.php"window.location="no_key_is_here_forever.php"是用no_key_is_here_forever.php替换完整路径的最后一个目录

3、签到2

题目要求输入zhimakaimen,长度为11,查看页面源码发现maxlength="10",在开发者工具中将 maxlength=”10” 字段修改为 maxlength=”11” 或是更大的值,然后输入字符串并提交。

4、这题不是WEB

下载图片用winhex或notepad++打开,在末尾发现flag

5、层层递进

查看源代码,跟随链接,依次访问SO.html -> S0.html->SO.htm ->S0.htm->404.html ,在最后一个页面里的注释部分可找到nctf{this_is_a_fl4g}
考察点:iframe嵌套页面

6、单身一百年也没用

思路和第2题相同,首先抓包,发现本应该跳转到web9/index.php的页面被重定向到web8/no_key_is_here_forever.php,在burpsuit中修改地址,查看response获取flag。
南京邮电大学CTF——WEB_第4张图片南京邮电大学CTF——WEB_第5张图片

7、md5 collision

MD5碰撞

$md51 = md5('QNKCDZO');
$a = @$_GET['a'];
$md52 = @md5($a);
if(isset($a)){
if ($a != 'QNKCDZO' && $md51 == $md52) {
    echo "nctf{*****************}";
} else {
    echo "false!!!";
}}
else{echo "please input a";}

变量md51为’QNKCDZO’的MD5值,0e830400451993494058024219903391,if部分如果a的MD5值与md51相同,且a不等于’QNKCDZO’时,输出flag。

注意到在判断md5值是否相等时,使用的是==,而不是===;根据==用法,0==字符串是成立的,因此可以绕过MD5检查。

  • ==是比较运算,它不会去检查条件式的表达式的类型
  • ===是恒等,它会检查查表达式的值与类型是否相等

php弱类型详解

0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0
这是个经典的漏洞,只需要找到md5值为0exxx(xxx全为数字,共30位),这里提供4个都可以通过的值:240610708、QNKCDZO、aabg7XSs、aabC9RqS

南京邮电大学CTF——WEB_第6张图片

你可能感兴趣的:(CTF)