南京邮电大学网络攻防平台WriteUP——WEB(上)
前言
南京邮电大学网络攻防平台(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(上)相关推荐
- 南京邮电大学网络攻防平台writeup ————密码学
1.easy 题目提示: 思路: 这是一个加密解密型试题,根据其特点可知是采用base64加密的,所以可以直接使用base64在线解密即可. 1. 在线搜索一个base64在线解密网站. 推荐链接 ...
- 南京邮电大学网络攻防平台writeup————MISC
1.easy wireshark 由于题目给出的数据包的下载地址失效,所以该题目无法演示!但是可以根据提示"听说抓到他浏览网页的包,flag就在网页里"可以知晓需要对" ...
- 南邮mysql_南京邮电大学网络攻防平台WEB题
平台地址:http://ctf.nuptsast.com/ 签到题: 右键查看源代码,得到flag md5 collision: 传入的a的md5值要为0e开头的,但不能是QNKCDZO,百度一个0e ...
- NCTF 南京邮电大学网络攻防训练平台 WriteUp
NCTF 南京邮电大学网络攻防训练平台 WriteUp 不说什么直接上题解 WEB 1.签到题(50) 直接查看网页源码 Flag:nctf{flag_admiaanaaaaaaaaaaa} 2.md ...
- 南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup
南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup 题目描述 文件下载地址 很明显,文件之间进行亦或就可得到flag,不再多说,直接上脚本 1 #coding:utf-8 2 file ...
- 南京邮电大学网络攻防训练平台writeup
为了让各位能够好好查看一下,我违规操作了(QAQ)放在随笔里面了(Orz) 本文转自findneo:https://www.cnblogs.com/findneo/p/nupt-ctf-writeup ...
- 南京邮电大学网络攻防训练平台-密码学-异性相吸
下载后是 两个txt文件 一个是密文txt 一个是明文txt 根据提示 把两个文件先转换成bin形式,直接用010editor转就行 然后把两串二进制数复制出来 写个py进行异或算法 a='01101 ...
- 南京邮电大学网络信息安全——网络数据包捕获WireShark(实验一)
南京邮电大学网络信息安全课程实验:网络数据包捕获WireShark(实验一) 系列前言 实验目标 实验环境 实验一过程记录 目标一:使用正确的姿势打开WireShark 目标二:只捕获TCP的流量包 ...
- 网络攻防实验之Web服务蜜罐部署实验
这个实验是网络攻防课程实验中的一个,对于现在的安全意义不大了,之前学蜜罐都是概念性的,通过这次实验能了解得更深入一些 一.实验目的和要求 了解WEB蜜罐的基本原理,掌握Trap Server的使用. ...
最新文章
- Hexo自定义页面的两种方法
- Python第四章-字典
- Entity Framework-02
- boost::graph_property_iter_range用法的测试程序
- LeetCode Hot100 ---- 链表专题专题
- 触发死锁怎么办?MySQL 的死锁系列:锁的类型以及加锁原理了解一下!
- 腾讯 WXG | 技术研究-NLP算法三面复盘
- React Native Fetch封装那点事...
- javascript框架echarts插件实现超酷人立方效果图
- 基于Python的Web开发
- linux网络设备驱动之dm9000驱动源码框架解析
- c语言平方根求和用sqrt函数,sqrt函数 Excel怎么使用平方根函数SQRT
- excel2007 设置点击单元格设置默认值
- 假设检验一小些知识(单个正态总体均值的假设检验)
- Skype for Business Server与Microsoft Teams的长期共存模式
- mixamo骨骼_Mixamo——在线三维人物角色骨骼自动绑定,上千动作库直接生成人物动画...
- 用Python获取照片GPS信息
- 数据挖掘4:自然语言处理(NLP)信息提取技术
- 如何获得coredump
- nmap简单实用命令
热门文章
- NOIP是什么?全国青少年信息学奥林匹克联赛各区特派员联系名单大全!
- 搭建SpringCloud配置中心 Config Server
- 高阻抗探头TA375测CAN和FlexRay
- C++ 引用 (Reference)
- 解析B2C电子商务网站系统架构
- win7任务栏时钟显示秒_如何使Windows 10的任务栏时钟显示秒数
- 天宇优配|沪指冲高回落跌0.35%,地产、医药等板块走强,供销社概念再创新高
- 测试面试题——三角形
- Matplotlib系列(七):动画
- 2022“杭电杯”中国大学生算法设计超级联赛(7)