前言

南京邮电大学网络攻防平台(http://ctf.nuptsast.com/)是一个集合了WEB、MISC、密码学、PWN、逆向的一个CTF训练平台,对于初次涉及ctf小伙伴来说是非常不错的一个训练平台,这篇博客主要为大家讲解一些在ctf中的解题思路。

WEB部分

1.签到题

点击传送门“题目地址”之后可以看到页面显示“key在哪里?”,此时你也许非常好奇,你正在找key,但是它却问“key在哪里?"。那么此时你是否会想到这个也是一个web页面,也是由html代码编写在服务器上运行之后显示的呢?而浏览器自带“查看源文件”功能(点击鼠标右键——查看源文件),不妨看看“源代码”:

你会惊奇的发现flag的存在!

题目考察点:   WEB网页源代码中信息的隐藏      HTML中可以隐藏信息的方法(可以用注释、head头部、超链接等等)

2、MD5  COllision

源码:

<?php
$md51 = md5('QNKCDZO');           将'QNKCDZO'经过md5加密之后的结果赋值给变量$md51
$a = @$_GET['a'];                 以get的方式从用户端获取一个变量a,并且将其值赋值给变量$a(此处@的作用是防止当a的值为NULL是弹出警告提示)
$md52 = @md5($a);                 将变量$a经过md5加密之后的结果赋值给变量$md52
if(isset($a)){                    判断变量$a的值是否为NULL,如过不为空,则继续执行花括号内的代码,否则执行else之后的代码语句
if ($a != 'QNKCDZO' && $md51 == $md52) {    判断条件:要求变量$a的值不为“QNKCDZO”,同时要满足$md51==$md52的值echo "nctf{*****************}";         输出flag
} else {echo "false!!!";              当if判断条件不成立时在页面输出“false!!!”
}}
else{echo "please input a";}      当变量$a的值为NULL时输出“please  input a”
?>

代码解释: 请看代码右侧解释!

思路:通过阅读代码,不难发现,要想得到flag,那么就必须满足“变量$a的值不为空、$a的值不为‘QNKCDZO’、$md51==$md52”。‘QNKCDZO’进过MD5加密之后的值为“0E830400451993494058024219903391”。

此时注意到的是此处比较的时候使用的是等于“==”只是比较最后类型转换之后的数值是否相同,不要求数据类型与数值完全一致(PHP中的全等“===”才要求这样的条件),同时如果使用“!=”或者“==”来对哈希值比较时,它会把每一个以“0e”开头的哈希值都解释为0,所以如果我们找到一个经过md5加密之后以“0e”开头的字符串并且以get的形式提交即可获得flag!

以“0e”开头的字符串汇总:http://www.219.me/posts/2884.html

随机找一个,比如“s878926199a”,以get形式提交即可获得flag:

题目考察点: MD5碰撞  PHP中的比较运算符的特性

3、签到2

点击传送门之后看到这样的提示内容:

之后根据提示输入“zhimakaimen”并点击“开门”结果无任何响应,之后查看一下源代码看看:

发现允许输入的最大字符串的长度为10,而“zhimakaimen”长度为11,所以要想办法修改这一个限制,可以想到的是使用burpsuite抓包进行修改、使用浏览器插件firebug来实现,此处演示是哟burpsuite抓改包!

在火狐浏览器中设置网络代理——》开启burpsuite的监听模式——》在浏览器中填写“zhimakaimen”并点击“开门”——》在burpsuite中进行改包:

题目考察点:跨越网页限制   

4、这题不是WEB

d点击传送门“题目地址”,之后可以看到网页显示如下:


思路:发现有一个gif格式的动态图,而且题目已经提示了“这题不是WEB”所以可以联想到是否与这个图片有关,不妨下载下来看看!

之后直接扔进notepad++里面看看是否有隐藏的信息,同时想到我们的flag格式为“nctf{}”,所以不妨查看一下是否有这样的关键字:

题目考察点:图片信息隐藏

5、层层递进

打开传送门“题目地址”之后显示一个网页


发现没有以前的那么常规,同时url地址栏也不会存在注入的特点,所以只好查看源代码看看了:


发现有两个链接,尝试一下此处的链接,点击第一个SO.html试试


发现没有啥可以使用的信息,继续查看源代码:


突然发现还有SO.html ,同时结合题目名“层层递进”,可以发现有关系继续点击链接、查看源代码,一直进行,直到最后看到下面的页面为止:


此时点击404.html查看明细,并且查看源代码:


发现等待已久的flag格式!

题目考察点:源代码细节阅读   题目提示  

6、AAencode

点击传送门“题目地址”,打开网页可以看到:


思路:注意到提示点“JavaScript  aaencode”,所以可以百度一下看看究竟是什么东东:


aaencode把JS转化为颜文字表情符号工具地址:

打开链接:http://utf-8.jp/public/aaencode.html

之后点击右下角的“eval”尝试获取具体的内容,但是现实空白!所以要想想其他的办法,之后了解到浏览器的控制台可以输出加密之后颜文字的内容,所以使用浏览器console端跑一次:


此处第一次跑的时候发现提示警告没有定义ω゚ノ所以不妨初始化一个,之后提供给程序调用即可!

题目考察点:根据题目所给提示进行信息收集并使用信息

7、单身二十年

点击传送门“题目地址”


点击链接:


无果,返回上一个网页,之后查看源代码:


点击此链接


得到最后的flag!

题目考察点:  信息获取  源代码

8、你从哪里来

点击传送门“题目地址

根据提示需要使用burpsuite抓包,并且修改referer头部为 www.google.com


之后即可得到flag(google退出中国市场,这一步可能实现上会有问题,建议试试外网)

题目考察点:对http消息头部内容的了解

9、PHP decode

源码:

<?php
function CLsI($ZzvSWE) {$ZzvSWE = gzinflate(base64_decode($ZzvSWE));for ($i = 0; $i < strlen($ZzvSWE); $i++) {$ZzvSWE[$i] = chr(ord($ZzvSWE[$i]) - 1);}return $ZzvSWE;}
eval(CLsI("+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA=="));    ?>

思路:更具题目名称"PHP decode"可以知晓需要进行PHP解码!

在最后一句调用功能函数ClsI对字符串“+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA==”进行操作!首先将其进行base64解密,之后将其结果使用gzinflate进行解压操作,最后使用一个for循环将字符串中的字符码全部前移一位,之后返回结果!

此处要想获得flag可以在本地使用phpstudy来搭建PHP开发环境,之后将eval改为echo,并且在浏览器中运行该PHP文件即可:

题目考察点:对PHP代码的理解能力 变通能力

10、文件包含

根据提示是文件包含,且是本地文件包含,所以直接在URL后添加?file=php://filter/read=convert.base64-encode/resource=index.php,读取到base64加密的index.php文件

base64解密得到flag:nctf{edulcni_elif_lacol_si_siht}

题目考察点:对PHP本地文件包含的掌握

后期待续!

南京邮电大学网络攻防平台WriteUP——WEB(上)相关推荐

  1. 南京邮电大学网络攻防平台writeup ————密码学

    1.easy 题目提示: 思路: 这是一个加密解密型试题,根据其特点可知是采用base64加密的,所以可以直接使用base64在线解密即可. 1.   在线搜索一个base64在线解密网站. 推荐链接 ...

  2. 南京邮电大学网络攻防平台writeup————MISC

    1.easy wireshark  由于题目给出的数据包的下载地址失效,所以该题目无法演示!但是可以根据提示"听说抓到他浏览网页的包,flag就在网页里"可以知晓需要对" ...

  3. 南邮mysql_南京邮电大学网络攻防平台WEB题

    平台地址:http://ctf.nuptsast.com/ 签到题: 右键查看源代码,得到flag md5 collision: 传入的a的md5值要为0e开头的,但不能是QNKCDZO,百度一个0e ...

  4. NCTF 南京邮电大学网络攻防训练平台 WriteUp

    NCTF 南京邮电大学网络攻防训练平台 WriteUp 不说什么直接上题解 WEB 1.签到题(50) 直接查看网页源码 Flag:nctf{flag_admiaanaaaaaaaaaaa} 2.md ...

  5. 南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup

    南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup 题目描述 文件下载地址 很明显,文件之间进行亦或就可得到flag,不再多说,直接上脚本 1 #coding:utf-8 2 file ...

  6. 南京邮电大学网络攻防训练平台writeup

    为了让各位能够好好查看一下,我违规操作了(QAQ)放在随笔里面了(Orz) 本文转自findneo:https://www.cnblogs.com/findneo/p/nupt-ctf-writeup ...

  7. 南京邮电大学网络攻防训练平台-密码学-异性相吸

    下载后是 两个txt文件 一个是密文txt 一个是明文txt 根据提示 把两个文件先转换成bin形式,直接用010editor转就行 然后把两串二进制数复制出来 写个py进行异或算法 a='01101 ...

  8. 南京邮电大学网络信息安全——网络数据包捕获WireShark(实验一)

    南京邮电大学网络信息安全课程实验:网络数据包捕获WireShark(实验一) 系列前言 实验目标 实验环境 实验一过程记录 目标一:使用正确的姿势打开WireShark 目标二:只捕获TCP的流量包 ...

  9. 网络攻防实验之Web服务蜜罐部署实验

    这个实验是网络攻防课程实验中的一个,对于现在的安全意义不大了,之前学蜜罐都是概念性的,通过这次实验能了解得更深入一些 一.实验目的和要求 了解WEB蜜罐的基本原理,掌握Trap Server的使用. ...

最新文章

  1. Hexo自定义页面的两种方法
  2. Python第四章-字典
  3. Entity Framework-02
  4. boost::graph_property_iter_range用法的测试程序
  5. LeetCode Hot100 ---- 链表专题专题
  6. 触发死锁怎么办?MySQL 的死锁系列:锁的类型以及加锁原理了解一下!
  7. 腾讯 WXG | 技术研究-NLP算法三面复盘
  8. React Native Fetch封装那点事...
  9. javascript框架echarts插件实现超酷人立方效果图
  10. 基于Python的Web开发
  11. linux网络设备驱动之dm9000驱动源码框架解析
  12. c语言平方根求和用sqrt函数,sqrt函数 Excel怎么使用平方根函数SQRT
  13. excel2007 设置点击单元格设置默认值
  14. 假设检验一小些知识(单个正态总体均值的假设检验)
  15. Skype for Business Server与Microsoft Teams的长期共存模式
  16. mixamo骨骼_Mixamo——在线三维人物角色骨骼自动绑定,上千动作库直接生成人物动画...
  17. 用Python获取照片GPS信息
  18. 数据挖掘4:自然语言处理(NLP)信息提取技术
  19. 如何获得coredump
  20. nmap简单实用命令

热门文章

  1. NOIP是什么?全国青少年信息学奥林匹克联赛各区特派员联系名单大全!
  2. 搭建SpringCloud配置中心 Config Server
  3. 高阻抗探头TA375测CAN和FlexRay
  4. C++ 引用 (Reference)
  5. 解析B2C电子商务网站系统架构
  6. win7任务栏时钟显示秒_如何使Windows 10的任务栏时钟显示秒数
  7. 天宇优配|沪指冲高回落跌0.35%,地产、医药等板块走强,供销社概念再创新高
  8. 测试面试题——三角形
  9. Matplotlib系列(七):动画
  10. 2022“杭电杯”中国大学生算法设计超级联赛(7)