2020.1.19 南邮ctf 签到题

题目:key在哪里?

在火狐浏览器中右键选择打开查看源代码,在源代码可以看到如下

因为是第一次做这个题,不知道提交啥,我先提交了“admiaanaaaaaaaaaaa”,其后提交了“flag_admiaanaaaaaaaaaaa”,最后觉得提交的应该带上网站的关键信息,我这才提交了nctf{flag_admiaanaaaaaaaaaaa}  (一言难尽)

2020.1.19 南邮ctf 这题不是WEB

题目:

当时看见这个题目我是懵逼的,感觉应该是和那个gif文件有关

,在参考了下面这个知识点后,我尝试打开那个解码网页(但是!!姥姥家的信号是真的差,打不开网页,只能放弃

选择了另存为图片在本地用记事本打开。看到了在一堆乱码中的flag

2020.1.19 南邮ctf 单身二十年

题目:到这里找key

在题目网页中点击“到这里找key”会出现跳转http://chinalover.sinaapp.com/web8/search_key.php一瞬间后闪到http://chinalover.sinaapp.com/web8/no_key_is_here_forever.php

过后在跳转网页中查看网页源代码,没有什么发现,选择用burp suite进行抓包,在http://chinalover.sinaapp.com/web8/no_key_is_here_forever.php时抓包并没有什么发现,后选择退出去在http://chinalover.sinaapp.com/web8/中进行抓包 repeater后得到flag

2020.1.21 南邮ctf md5 collision

题目:$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";}

这是一个php源码的题,首先对@提出了疑问,经过百度后,得到如下结果

然后对isset()函数提出了疑问,经过百度后得到:isset函数用于判断一个变量是否已经声明,且当判断一个变量存在且不为空时 先使用isset函数再使用empty函数

了解后再看代码,发现还是看不懂,才发现是对MD5不明了,搜索后发现是一种加密方式,然后在网上搜索查看了’QNKCDZO’对应的加密结果发现是’0e830400451993494058024219903391’,所以尝试以get方式输入http://chinalover.sinaapp.com/web19/?a=0e830400451993494058024219903391后得到的结果是false。再读源码后发现需要的不是0e830400451993494058024219903391而是另一串未解码前的a,通过下图的提示,搜索以0e开头的以get方式得到的a

如此得到了flag

2020.1.21 南邮ctf 签到题2

题目:

在输入框输入zhimakaimen后,发现页面没有变化。选择了抓包,在抓包后发现如下问题

即是text1的结果不是zhimakaimen 而是zhimakaime

发送到repeater后,对这串数据进行修改并Go得到如下,由此得到了flag

2020.1.21 南邮ctf COOKIE

题目:please login in first   (另给出TIP:0==not)

点击网页进入后出现了“please login in first”的字样,因为题目的名字是cookie,便感觉应该与cookie有关,在火狐网页中F12打开存储中的cookie选项,得到如下

发现值为0,有根据题中所给的提示,对值进行修改,将0改为1后,刷新页面,即可得到flag,如图

2020.2.6 南邮ctf 单身一百年也没用

和  “单身二十年”一题非常类似。点击下图连接后,发现链接从http://chinalover.sinaapp.com/web9/到http://chinalover.sinaapp.com/web8/no_key_is_here_forever.php

所以联想到web8,进行抓包,得到flag

2020.2.6 南邮ctf SQL注入1

题目:

首先提交了一下查询,不出意料的错了,点击查看了source,发现了下图,要求user格需要输入admin

直接去尝试(没用到sql注入,但还是去尝试了),当然还是错了,又去看代码,思考密码的要求,网上搜索后,发现了下图的思路

又去看代码发现,下图语句,看出user和pass是一起检测的,所以尝试在输入admin时直接将后面关于密码的部分注释

(#),同时保证注释掉后面的部分后,关于user的部分仍然闭合,执行如下,得到flag

2020.2.16 南邮ctf php是世界上最好的语言

题目进去后就是404 Not Found ,查看源码后没有什么发现,在网上搜了一下说是挂了??

2020.2.16 南邮ctf sql注入2

题目:主要考察union

查看代码,与上一道注入题不同的是,用户名和密码不是一同查询的了,所以直接注释掉密码的方法不可行了,分析代码,(strcasecmp用忽略大小写比较字符串.,通过strcasecmp函数可以指定每个字符串用于比较的字符数,strncasecmp用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异)

返回值:

该函数返回:

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

>0 - 如果 string1 大于 string2

需要if语句为真才能得到flag,即需要密码不为空且!Strcasecmp($pass,$query[pw])为真,因为两者相等时,值为0,!0即为真,所以需要我们输入的密码与数据库中的密码相等

这时,查看sql语句"select pw from ctf where user='$user'",我们可以通过union查询语句,自己设定密码,即让色块部分失效,又因为密码是md5加密的,那么在数据库中,密码也应该是md5加密的,所以加入我们设定密码为username,那么就需要对username进行加密

执行’union select ‘14c4b06b824ec593239362517f538b29’# 密码输入username,得到flag

参考资料:https://wenku.baidu.com/view/3f3e03c84431b90d6c85c7fb.html

2020.2.16 南邮ctf 起名字真难

题目:源码:<?php

function noother_says_correct($number)

{

$one = ord('1');   //数字1

$nine = ord('9');  //数字9

for ($i = 0; $i < strlen($number); $i++)

{

$digit = ord($number{$i});

if ( ($digit >= $one) && ($digit <= $nine) )

{

return false;    //一串数字每一个数字不能是1-9

}

}

return $number == '54975581388';

}

$flag='*******';

if(noother_says_correct($_GET['key']))  //需要与54975581388相同

echo $flag;

else

echo 'access denied';

?>

分析源码,想要得到flag需要函数执行为真,那么分析函数,其中ord表示“将ASCLL码值转换为字符”,根据别人的wp,得知可将54975581388转换成十六进制:0xCCCCCCCCC=54975581388,在url中以get方式输入,即可得到flag

2020.2.23 南邮ctf 文件包含(不是很懂)

题目:没错 这就是传说中的LFI

ok,看不懂是什么意思,搜了一下lfi,是一种漏洞的名字,具体参考https://blog.csdn.net/qq_29419013/article/details/81202358

可以通过构造一个漏洞,来查看需要的代码,即:?file=php://filter/read=convert.base64-encode/resource=index.php ,可以得到如下

进行解码,可以得到如下代码,即可得到flag

<html>
    <title>asdf</title>
    
<?php
    error_reporting(0);
    if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}
    $file=$_GET['file'];
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file);
//flag:nctf{edulcni_elif_lacol_si_siht}

?>
</html>

2020.2.23 南邮ctf php decode

题目:见到的一个类似编码的shell,请解码

对源码进行分析,经过搜索得知,gzinflate是一种解压函数,把这个代码直接拿来运行,不造为什么出现下面的报错

wa,突然发现我好傻。。。echo,哎,把代码改成如下

还是直接运行代码得到flag

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2020.2.1 攻防世界 cookie

题目:你知道什么是cookie吗

在火狐浏览器中,使用F12快捷键,在存储中查看cookie,如下图发现值是cookie.php

将浏览器网页地址改为http://111.198.29.45:44150/cookie.php,得到如下,根据提示,查看网络

点击F12快捷键,在网络中可看到如下,如此可得到flag

2020.2.1 攻防世界 Robots

题目:robots协议

根据提示,本题主要考察robots协议,题目的第一个页面是空白页面在查看网页源代码没有发现后,首先网络搜索robots协议得到

robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。

robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。

对此协议有了一定了解之后尝试在网页中查询一个网页的robots协议,即将网址改成http://111.198.29.45:45981/robots.txt即可查看到一个网页的robots协议,得到flag的php

起初,我得到f1ag_1s_h3re.php后,选择直接在http://111.198.29.45:45981/robots.txt后添加/f1ag_1s_h3re.php即:http://111.198.29.45:45981/robots.txt/f1ag_1s_h3re.php    但发现网页出现404,再次思考robots协议后,理解到/robots.txt只是让我们可以查看到网页的robots,但是已经不是原网页,所以将网址修改为http://111.198.29.45:45981/f1ag_1s_h3re.php后,得到flag

2020.2.1 攻防世界 simple_is

题目:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )

打开题目后没有什么发现,就查看了网页源代码得到如下

这个东西真的时看了半天也没看明白,但代码中有两串数字:

70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65

\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"

第二串数字看着是十六进制,又因为题目给到的提示是flag的格式为Cyberpeace{xxxxxxxxx}  联想到其他的flag答案,利用ASCII码对应将这串数字70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65  转换成字符得到:FAUX PASSWORD HAHA  是错误答案,于是尝试第二串数字

将第二串数字以同样的方式转换得到一串十进制数55,56,54,79,115,69,114,116,107,49,50,将得到的数字参考ASCII码转换成字符得:786OsErtk12

根据题目要求的flag格式得到flag为:Cyberpeace{786OsErtk12}

2020.2.1 攻防世界 backup

题目:寻找备份文件

打开题目后查看了网页源代码,没有发现什么,网络搜索“如何查看php的备份文件”没有收获,就去参考了别人的答案,得到了如下结果,利用http://111.198.29.45:41189/index.php.bak

将该文件下载后查看网页源代码即可得到flag

但是有一个疑问:为什么是http://111.198.29.45:41189/index.php.bak

搜索后得知php.bak文件是有些编辑器在编辑文件时自动备份的文件,用于紧急恢复

web做题记录的更多相关文章

  1. 攻防世界Web刷题记录(进阶区)

    攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.2 ...

  2. UOJ 做题记录

    UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好 ...

  3. project euler做题记录

    ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...

  4. Sam做题记录

    Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律 ...

  5. 退役IV次后做题记录

    退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...

  6. 退役III次后做题记录(扯淡)

    退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...

  7. 退役II次后做题记录

    退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...

  8. BJOI做题记录

    BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难 ...

  9. FJOI2017前做题记录

    FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题 ...

随机推荐

  1. Python 元类 - Metaclasses

    Python 元类 - Metaclasses 默认情况下儿, classes 是有 type() 构造的. 类的结构体在一个新的 namespace 被执行, 类的名字 class name 绑定( ...

  2. finalize的用法

    public class GC {          public static GC SAVE_HOOK = null;          public static void main(Strin ...

  3. PgSQL备份

    SQL转储. 这里我们用到的工具是pg_dump和pg_dumpall. 这种方式可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问.它会产生一个脚本文件,里面包含备份开始时 ...

  4. springmvc maven idea 多模块开发(三):建立子模块

    传统的多模块方式是建立domain.dao.service等,这种方式是按照软件架构进行分割,现在更多的应该是倾向按照功能来解耦,module前期可以配置成jar,后期也可以建立独有的页面,独立的站点 ...

  5. IP切换脚本

    1. 新建bat文件: 2. 将下面内容拷贝进bat文件: 3. 运行bat文件: @echo off color 00title IP切换脚本:start @echo --------------- ...

  6. javascript中onclick(this)用法介绍

    this指触发事件的对象 代码如下: <input id="myinput" type="text" value="javascript中onc ...

  7. 利用预测分析改进欠款催收策略,控制欺诈风险和信贷风险—— Altair Knowledge Studio 预测分析和机器学习

    前提摘要 在数字经济新时代,金融服务主管正在寻求方法去细分他们的产品和市场,保持与客户的联系,寻找能够推动增长和收入的新市场,并利用可以增加优势和降低风险的新技术. 在拥有了众多可用数据之后,金融机构 ...

  8. Java学习之String、StringBuffer、StringBuilder

    String 我们知道字符串的分配和其他对象分配一样,是需要消耗高昂的时间和空间的,而且字符串我们使用的非常多.JVM为了提高性能和减少内存的开销,在实例化字符串的时候进行了一些优化:使用字符串常量池 ...

  9. PHP0016:PHP http协议

    post提交请求头

  10. 第1章.Collections类、泛型类和Timing类概述

    1.1 群集(collection)的定义 群集是一种结构化的数据类型.它存储数据,并且提供数据的添加.删除.更新操作,以及对群集的不同属性值的设置与返回操作. 群集可以分为两类:线性的和非线性的. ...