南京邮电大学CTF——WEB

1、签到题

查看页面源码

2、单身二十年

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

  • 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。
在这里插入图片描述在这里插入图片描述

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

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值