南邮CTF-WEB-writeup

WEB题

签到题

打开界面看到:key在哪里? 签到题都不会很难,查看源代码。

签到

md5 collision

首先还是先看看题
MD5

题目提示给出了MD5 中间又有 md51=md52 看到前面有QNKCDZO 那么很显然啊 就是找到和‘QNKCDZO’md5加密后相同的字符串。

将QNKCDZO进行MD5加密,密文为0e830400451993494058024219903391

PS:这里有个点需要注意 它的=是两个== 所以两个等号代表的是比较变量的值,而不会去比较变量的类型。

在这里源码是PHP 肯定有它的用处那么PHP在进行比较运算时,如果遇到了0e\d+这种字符串,就会将这种字符串解析为科学计数法。
因为0exx都等于0,所以让两者相等我们只需再找到一个MD5加密后开头为0e的字符串即可。所以这里我们来找到相关的字符串

PS:0e开头MD5小节

s878926199a
0e545993274517709034328855841020
s155964671a

0e342768416822451524974117254469
s214587387a

0e848240448830537924465865611904
s214587387a

0e848240448830537924465865611904
s878926199a

0e545993274517709034328855841020
s1091221200a

0e940624217856561557816327384675
s1885207154a

之后在题目地址栏中输入A 就可以看到flag了
MD5

签到2

签到
看到让输入口令那就输入白。
然后输入的时候发现他有设置字数的限制。那我们就F12 修改吧。
签到
maxlength 之前是10 这里我给他改成了13 然后输入 口令
签到

这题不是WEB

打开上来就告诉你这题不是WEB
web
看到一张图 莫名??? 看看源代码 也没发现啥 有没有可以输入的地方 题目还说不是web 不会是这个图片藏了东西吧 应该是 下载 放到winhex 里看看

然后看看开头跟结尾 在结尾发现了flag
web

层层递进

题目上给了个a标签地址说是个微博。。点进去看看还真是。看题看题 进入题目

题目
搜索一下还真就可以,不过下面为啥一大片的空白。F12 检查检查。
检查

看到两个网址
网址
一个是南京论之语,嗯这个跟题目没得关系,看上面那个so.html
展开标签看到了一堆。。。
展开
????有点懵噢 咋一个套一个。。还这么多,题目是层层递进。这里肯定有东西。看到了一个404的
404

放到地址栏后面打开。果然有东西。
F12走一波
检查
看完后除了TD标签里一大堆的JS文件,也没啥,这么多JS???而且页面很简洁。
仔细瞅了一下又还真就是对了。
结果

AAencode

打开题目链接
题目
记得学长说过,中间有表情是颜文字,不过应该是加过密的,编码不同应该是,先解一下,

颜文字出来了
控制台跑一波白
答案

单身二十年

打开题目 很是有趣啊 靠手速 哈哈哈哈

看地址栏给你说没有key 只有这一个链接
看源代码也啥都没有 点跳转的时候发现有两个跳转。。原谅我手速不够啊 地址栏跳的太快了 截不了图啊
这样的话应该要抓个包了 记得学长用过
抓包
首先先进行一波配置啊 我这里的配置参考的是 http://www.mamicode.com/info-detail-2206437.html
答案

php decode

之前学过的PHP 试试

eval??/这里应该是输出了吧

PHP eval() 函数

定义和用法
eval() 函数把字符串按照 PHP 代码来计算。

该字符串必须是合法的 PHP 代码,且必须以分号结尾。

如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

提示和注释
注释:返回语句会立即终止对字符串的计算。

注释:该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。

例子
<?php
$string = “beautiful”;
$time = “winter”;

$str = ‘This is a $string $time morning!’;
echo $str. “
“;

eval(“\$str = \”$str\”;”);
echo $str;
?>
输出:

This is a $string $time morning!
This is a beautiful winter morning!

但在这里eval里面肯定就是flag了,找个在线代码执行的网站,复制粘贴代码,将eval改成echo即可,得到flag!
答案

文件包含

没错 这就是传说中的LFI LFI。。。我又孤陋寡闻了 问问度娘 本地文件包含。。看大佬的blog详解

暂时还不太了解,等后续了解完 在进行更新这道题目了。

单身一百年

又是这个?跟上一道题 那再来抓个包吧
OK拿到了
单身一百年的手速不如抓个包啊!

mysql

打开跳转到了百度百科
robots协议 锁定
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
前面更新的时候做过这个类型的题
题目

提示sql.php,说明要到这个页面进行操作

代码信息:

要用get方法传一个id参数

但值要为什么呢?注意到了1024这个数字和intval()函数,输进来的数字会经过这个函数的处理

intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。
输入id=1024,显示‘no!try again’
输入id=1023,显示‘no msg in 1023~’
输入id=1025,显示‘no more’

那估计是1024点几

这题。。。卡了我大半天。。

PS:

1.mysql_connect() 函数打开非持久的 MySQL 连接。

2.mysql_select_db() 函数设置活动的 MySQL 数据库。

如果成功,则该函数返回 true。如果失败,则返回 false。

3.mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有

返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

4.mysql_query() 函数执行一条 MySQL 查询。


  转载请注明: Greypotato 南邮CTF-WEB-writeup

 上一篇
SQL靶场练习 SQL靶场练习
前言 之前进行了SQL注入的学习,这里找到安全龙的实验室进行一波小小的练习。 第一关首先进行注入点测试。 一般来说先加一个单引号(英文),来判断这里地址栏自动转化了URL编码输入“ ?id=1’ ”,回显为 “1” limit 0,
2019-07-21 Greypotato
下一篇 
SQL注入的学习与个人理解 SQL注入的学习与个人理解
什么是SQL注入攻击刚开始接触未免不清楚什么是SQL注入攻击,SQL注入不同于XSS攻击。SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,就是通过把SQL命令插入到Web表单提交或输入域名
2019-07-17 Greypotato
  目录