南京邮电大学网络攻防训练平台 web题 1——10 详解

本文详细介绍了一位新手在CTF竞赛中的解题过程,包括签到题的解答技巧、md5碰撞原理及应用、使用burp软件抓包破解、隐写术在图片中的应用、层层递进题型的解决思路、PHP代码解析、文件包含漏洞利用等,提供了丰富的实战经验和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人萌新,有错误的话可以指出。

1、签到题

key在哪里?

点击右键,查看网页源代码。会发现key就在代码中。

2、md5 collision

这一题考的是md5碰撞和PHP的一些基本知识。

首先PHP是一门弱类型语言。PHP 会根据变量的值,自动把变量转换为正确的数据类型。

MD5加密的一个网站

<?php
$md51 = md5('QNKCDZO');      //运用md5加密,md5(QNKCDZO,32)=0e830400451993494058024219903391变量md51赋值为0e830400451993494058024219903391

$a = @$_GET['a'];        //变量赋值
$md52 = @md5($a);        //变量md52值为变量a的md5加密值
if(isset($a)){
if ($a != 'QNKCDZO' && $md51 == $md52) {    //如果a不等于'QNKCDZO'并且md51==md52,输出key;
    echo "nctf{*****************}";
} else {
    echo "false!!!";
}}
else{echo "please input a";}
?>

关于那个等式$md51 == $md52;

md51=0e830400451993494058024219903391相当于0的83....的次幂,也就是0;那么就是需要找到另一个MD5加密后值为零的字符串。

直接百度搜0e开始的MD5加密后的字符串。

s878926199a

0e545993274517709034328855841020

s155964671a

0e342768416822451524974117254469

s214587387a

0e848240448830537924465865611904

s214587387a

0e848240448830537924465865611904

s878926199a

0e545993274517709034328855841020

s1091221200a

0e940624217856561557816327384675

s1885207154a

0e509367213418206700842008763514

s1502113478a

0e861580163291561247404381396064

s1885207154a

0e509367213418206700842008763514

s1836677006a

0e481036490867661113260034900752

s155964671a

0e342768416822451524974117254469

s1184209335a

0e072485820392773389523109082030

s1665632922a

0e731198061491163073197128363787

s1502113478a

0e861580163291561247404381396064

s1836677006a

0e481036490867661113260034900752

s1091221200a

0e940624217856561557816327384675

s155964671a

0e342768416822451524974117254469

s1502113478a

0e861580163291561247404381396064

s155964671a

0e342768416822451524974117254469

s1665632922a

0e731198061491163073197128363787

s155964671a

0e342768416822451524974117254469

s1091221200a

0e940624217856561557816327384675

s1836677006a

0e481036490867661113260034900752

s1885207154a

0e509367213418206700842008763514

s532378020a

0e220463095855511507588041205815

s878926199a

0e545993274517709034328855841020

s1091221200a

0e940624217856561557816327384675

s214587387a

0e848240448830537924465865611904

s1502113478a

0e861580163291561247404381396064

s1091221200a

0e940624217856561557816327384675

s1665632922a

0e731198061491163073197128363787

s1885207154a

0e509367213418206700842008763514

s1836677006a

0e481036490867661113260034900752

s1665632922a

0e731198061491163073197128363787

s878926199a

0e545993274517709034328855841020

https://blog.youkuaiyun.com/qq_35544379/article/details/78181546  转自这个博客。

3、签到2

可以看出这个地方限制了提交的字符串的长度,要提交的是11,我用的是burp 软件做的。

设置代理,打开burpsuit的抓包功能,点击开门。

改为zhimakaimen。点击go。

或者直接把这个输入字符串限定删了。

提交key。

4、这题不是WEB

这一题考的隐写,直接下载图片,记事本打开,查找nctf,不要问我为什么,因为之前几个key格式都是这样。

5、层层递进

这一题贼无聊。

查看源代码,找到so.html.看开又是一个网页,再查看网页源代码,找到so.html。一直下去,直到。

看到这一列了吗。

6、貌似那题有问题。

7、单身二十年

配置一下代理,打开burpsuit,然后点一下。

点一下go,key出来了。

8、php decode

<?php
function CLsI($ZzvSWE) {                //定义了一个函数CLsI,$ZzvSWE为这个函数的参数

    $ZzvSWE = gzinflate(base64_decode($ZzvSWE));   //$ZzvSWE这个参数用base64加密,然后再用gzinflate进行解压操作

    for ($i = 0; $i < strlen($ZzvSWE); $i++) {

        $ZzvSWE[$i] = chr(ord($ZzvSWE[$i]) - 1);        //循环,$ZzvSWE参数的每个字符相当于减1,用了两个PHP的函数chr和ord,具体百度

    }

    return $ZzvSWE;

}eval(CLsI("+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA=="));
?>php   //代码后面少了一个php,添上

 

把这段代码直接复制下来,把eval改成echo直接放到phpstudy下面跑一下就行了。

9、文件包含

直接在UIR后面去掉?file=show.php,复制上?file=php://filter/read=convert.base64-encode/resource=index.php,得到

然后base64解码,得到

10、单身一百年也没用

还是抓包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值